前言
本文结合博文:http://eleccelerator.com/tutorial-about-usb-hid-report-descriptors/
以及实践,介绍HID 报告描述符的编写过程中使用的两种方法。
案例需求
实现一个按键的HID报告描述符:包括三个按键。需要实现发送按钮的数据给主机;使用一个位(bit)来代表一个按钮。
使用C语言来描述,可以看成是C语言的结构体:
struct mouse_report_t
{
uint8_t buttons;
}
在内存空间可以看成是:
第一种填充方式
将Usage 填充到0~2 位,由于3~7位并没Usage,故在后面补上5bit的内存空间,形成一个字节对齐。之后就可以通过向0~2位写值,然后报告给主机。
USAGE_PAGE (Button)
USAGE_MINIMUM (Button 1)
USAGE_MAXIMUM (Button 3)