我正在尝试使用 libusbx 通过 Windows 与自定义 USB 设备进行通信。我为该设备安装了 WinUSB 驱动程序,并且能够进行一些通信。它只是没有按我的预期运行。
我试图从 PC 上进行一些基本的双向通信,我发送一个字节并期望返回一些字节。目前,如果我重置设备并运行发送字节的程序,我只会收到一个字节。如果我重新运行我的程序,我只会得到下一个字节。这种情况又发生了几次,直到最终我收到我所期望的。
例如:PC 发送一个“a”
预期的输出是
buffer[0]=3c
buffer[1]=6c
buffer[2]=0
buffer[3]=3e
我实际得到的是:
//First try
buffer[0]=3c
//Second Try
buffer[0]=6c
//Third Try
buffer[0]=0
buffer[1]=3e
//Fourth+ tries
buffer[0]=3c
buffer[1]=6c
buffer[2]=0
buffer[3]=3e
当我使用串行通信通过 com 端口测试 USB 设备时,一切都按预期运行。
这是正在运行的代码的 pastebin:http: //pastebin.com/bQtyS6vq
有没有人遇到过类似的问题或有任何修复建议?