1

我对 USB 通信有一点问题。我可以连接到 USB 设备,但我无法将任何数据写入 USB 设备。

这是我将数据写入 USB 设备的代码:

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);
        }

当我使用 checkUID() 或 checkSCardConnect() 时,它总是返回 false。是否有任何其他程序可以使用 USB 通信进行编写?

4

0 回答 0