Freescale KinetisマイクロコントローラのUSB周辺機器について学ぶためのコードを書いています。私はLinuxホスト上で列挙することができました。&は、EP0のベンダーカスタムコードを使ってパケットを受信し、libusbテストプログラムとやりとりすることができます。非ゼロエンドポイント(libusb)でUSB制御トランザクションを送信する方法は?
マイクロコントローラで追加のコントロールエンドポイント(ゼロ以外のエンドポイント番号)を設定できるようですが、libusbがこれらのエンドポイントに制御を送信/受信させる方法はありません。 (libusb_control_transfer
はエンドポイント番号を必要としませんが、libusb_bulk_transfer
とlibusb_interrupt_transfer
があります)
ゼロ以外のコントロールエンドポイントは珍しくないか、不要で不要であることは迷惑ですか? libusbに制御トランザクションを非ゼロエンドポイントに実行させる何らかの方法はありますか?
ありがとう...私はlibusbの同期部分を使用していたので、send_control関数をコピーして、別のエンドポイントをビルドする非同期構造にプラグインするように変更しました。喜びはありませんが、パケットが出ているかどうかを知るプロトコルアナライザはありません。 (マイクロコントローラのドキュメントが間違っていることは驚くことではないでしょう)とにかく、他のタイプのエンドポイントを試し、何が起こるかを見ていきます。 –