libusbx を使用して Windows 経由でカスタム USB デバイスと通信しようとしています。デバイス用の WinUSB ドライバーがインストールされており、何らかの通信を行うことができます。思うように動かないだけです。
私は、基本的にPCから基本的な双方向通信を取得しようとしています.1バイトを送信し、いくつかのバイト数が返されることを期待しています。現在、デバイスをリセットしてバイトを送信するプログラムを実行すると、1 バイトしか返されません。プログラムを再実行すると、次のバイトだけが返されます。最終的に私が期待したものを受け取るまで、これはさらに数回起こります。
例: 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 デバイスをテストすると、すべてが期待どおりに動作します。
実行中のコードのペーストビンは次のとおりです: http://pastebin.com/bQtyS6vq
誰かが同様の問題を経験したことがありますか、または修正のための提案はありますか?