How to use Bulk transfer in USB communication C#

930 views Asked by At

I have little bit problem with USB communication. I can connect to USB device but I cannot write any data to USB device.

This is my code to write data to USB device:

public byte[] GetUID = { 0xFF, 0xCA, 0x00, 0x00, 0x00 };
public byte[] SCardConnect = { 0x68, 0x92, 0x01, 0x00, 0x03, 0x01, 0x00, 0x00 };
public bool WriteBulk(byte[] str)
{
    //ErrorCode ec = ErrorCode.None;
    if (IsConnected == false)
       return false;
    else Console.WriteLine("connected");

    /*endpointWriter = MyUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep02, EndpointType.Bulk);
      int bytesWritten = length;
      ec = endpointWriter.Write(protocol, 5000, out bytesWritten);
      if (ec != ErrorCode.None) return false;
      else return true;*/
    UsbSetupPacket packet = new UsbSetupPacket((byte)UsbRequestType.TypeVendor, 0x04, 0, 0, (short)str.Length);
    int lengthTransfered;
    return MyUsbDevice.ControlTransfer(ref packet, str, str.Length, out lengthTransfered);
 }

        public bool checkUID()
        {
            return WriteBulk(GetUID);
        }

        public bool checkSCardConnect()
        {
            return WriteBulk(SCardConnect);
        }

When I use checkUID() or checkSCardConnect(), it always returns false. Is there any other procedure to write using USB Communication?

0

There are 0 answers