我正在尝试自我教育,以便在C中为我要尝试的PIC32 USB项目创建USB HID描述符。
我已经从http://www.usb.org/developers/hidpage/下载了HID使用表文档,并试图弄清楚在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数组由键/值对组成,如果可以这样称呼的话。例如第二行: 0x05,0x01指示键0x05,这是“ 用法”页面,而0x01是指示通用桌面的值
我试图找出这些值在HID使用表PDF文档中的指示位置。例如,我找不到任何参考资料
USAGE_PAGE == 0x05
例如
COLLECTION == 0xA1
我尝试在PDF中搜索0xA1,没有结果。我能够找出值的唯一方法是查看示例注释或使用上面链接中 USB Descriptor Tool。
我只是想知道,我是否真的很想念此键/值参考文档?
在线上有大量示例,例如以下链接: http //www.frank-zhao.com/cache/hid_tutorial_1.php
但这甚至引用了诸如 END_COLLECTION == 0xc0之
在哪里可以找到这些值的参考?我想念什么?