パケットサイズで64Bの割り込みエンドポイントを持つ2つの入力レポート(短いレポートでは64B、長いレポートでは128B)を宣言しました。複数のHID入力レポート
短いレポートを読むと、USBアナライザは短いレポートの予想されるバイト数(64B)を転送中と表示しますが、ReadFileは自分のバッファが無効であると不満を表明します(numberOfBytesToRead = 64)。
短いレポートのnumberOfBytesToReadパラメータに長いレポートサイズを使用すると、ReadFileは問題にはなりませんが、これは役に立たず、間違っています。これをどうすれば解決できますか?
そして私はパケットサイズで割り込みエンドポイントを複数使用して単純なものにしました。レポートが複数でない場合はどうなりますか?
私は、HIDドライバが最も長いサイズのレポートを期待しているため、短いレポートの最後にZLPまたは短いパケットを使用する必要があることを読んだ。これはおそらく問題です。 SiLabsファームウェアでZLPを作成する方法の例はありますか?私はC8051F320を使用しています。