3、USB接口的键盘描述符范例
下面作为一个例子,介绍一个USB接口的101键盘的全部描述符。该键盘固件部分由一个微处理器实现全部控制功能,下面列出的代码为微处理器汇编实现描述符定义。
3.1 设备的描述符
设备描述符的代码如下:
3.1 配置描述符
配置描述符的代码如下:
需要说明的是wTotalLength的值,该数值为配置描述符长度(9)加上后续的键盘的接口描述符长度(9)、端点描述符长度(7)、HID描述符长度(9),以及该配置下的鼠标的接口描述符长度(9)、端点描述符长度(7)、HID描述符长度(9),共59个字节。关于鼠标的相关描述符在下面的叙述中省略了。
3.3 接口描述符
接口描述符的代码如下:
3.4 HID描述符
HID描述符的代码如下:
3.5 端点描述符
端点描述符的代码如下:
3.6 字符串描述符
字符串描述符的代码如下:
3.7 报表描述符
报表描述符的代码如下:
通过上面的报表描述符的定义,确定了键盘的输入报表和输出报表的数据格式。其中输入报表共8个字节,输出报表只有1个字节。
USB开源项目
百合电子工作室曾在2009年推出了一个USB开源项目:Easy USB 51 Programer,此项目以开源的形式展示了USB通信的基础性内容、USB HID设备类固件程序开发及PC端应用程序开发、自定义USB设备类固件程序开发及PC端驱动程...
|
USB产品
EASY USB D12 是原EASY USB 51 PROGRAMER的升级版,是百合电子工作室历时一年精心设计的一款USB学习板/开发板,与老款相比,其实例更丰富,技术文档更详尽,更重要的是此款USB学习板还提供技术支持。......
|