USB 鼠标详解阅读顺序
1、
枚举
2、
设备描述符
3、
设置地址
4、
配置描述符
5、
接口描述符
6、
HID 描述符
7、
端点描述符
8、
字符串描述符
9、
HID 报告描述符
10、
HID 报告的返回
数据抓包
从
USB 枚举
章节我们知道,获取到 USB 的设备描述符之后就会对设备再次进行复位,然后进入设置地址阶段
例如,一个 USB 鼠标的设备地址过程如下所示
设置地址的标准请求的代码为
- 0x00 主机到设备的标准请求,请求的接收者是设备
- 0x05 请求代码是 0x05 表示设置地址
- 0x14
- 0x00 设备地址为 0x14
- 0x00
- 0x00
- 0x00
- 0x00
再次获取设备描述符
设置完地址之后,后面的通信主机与设备通信都是使用的 0x14 这个地址。
从 USB 的枚举过程 可知,下一步是获取设备描述符(真心实意的获取),这一部分与
USB-设备描述符
类似,这里不再展开讲解
数据代码如下所示
获取配置描述符
设备描述符获取到之后,下一步就是获取配置描述符,数据过程如下
- 0x80 数据传输方向为从设备到主机,请求的类型为标准类型,请求的接受者为设备
- 0x06 请求代码是 0x06 获取描述符的请求
- 0x00
- 0x02 描述符的类型编号为 0x02 即配置描述符
- 0x00
- 0x00 只在获取字符串描述符中有用到
- 0xFF请求设备返回数据的字节数为 0xFF
- 0x00
版权声明:本文为tyustli原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。