自分が試したいPIC32 USBプロジェクトのCでUSB HID記述子を作成する方法について少し自習しようとしています。
HID Usage Tablesドキュメントをhttp://www.usb.org/developers/hidpage/からダウンロードし、実際の値がHID記述子のさまざまな要素に示されている場所を見つけようとしました。
私が見ているサンプルからの抜粋で説明しましょう:
ROM struct{BYTE report[HID_RPT01_SIZE];}hid_rpt01={{
0x05,0x01, // USAGE_PAGE (Generic Desktop)
0x09,0x05, // USAGE (Game Pad)
0xA1,0x01, // COLLECTION (Application)
0x15,0x00, // LOGICAL_MINIMUM(0)
0x25,0x01, // LOGICAL_MAXIMUM(1)
0x35,0x00, // PHYSICAL_MINIMUM(0)
0x45,0x01, // PHYSICAL_MAXIMUM(1)
// ...
上記の例から、BYTE配列がキーと値のペアで構成されていることがわかります。たとえば、2行目:0x05,0x01はキー0x05を示し、これはUsage Pageであり、0x01はGeneric Desktopを示す値です。
これらの値がHID Usage Table PDFドキュメントのどこに示されているのかを把握しようとしています。たとえば、私はその参照を見つけることができません
USAGE_PAGE == 0x05
そして例えば
COLLECTION == 0xA1
PDFで0xA1を検索しましたが、結果はありませんでした。値が何であるかを見つけることができる唯一の方法は、例のコメントを見るか、上のリンクからUSB記述子ツールを使用することです。
私はただ疑問に思っています、私はこのキー/値のリファレンスドキュメントを見逃してしまったのですか?
たとえば次のリンクのように、たくさんの例がオンラインにあります:http : //www.frank-zhao.com/cache/hid_tutorial_1.php
しかし、これでもEND_COLLECTION == 0xc0のような文字列値のロードを参照しています
これらの値のリファレンスはどこにありますか?何が欠けていますか?