我正尝试使用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
是否有人遇到类似问题或有任何修复建议?