USB-设置地址(二)

从 USB 枚举 章节我们知道,获取到 USB 的设备描述符之后就会对设备再次进行复位,然后进入设置地址阶段

例如,一个 USB 鼠标的设备地址过程如下所示

USB-设置地址(二)

设置地址的标准请求的代码为

0x00 主机到设备的标准请求,请求的接收者是设备

0x05 请求代码是 0x05 表示设置地址

0x14 

0x00 设备地址为 0x14

0x00

0x00

0x00

0x00

设置完地址之后,后面的通信主机与设备通信都是使用的 0x14 这个地址。

从 USB 的枚举过程 可知,下一步是获取设备描述符(真心实意的获取),这一部分与 USB-设备描述符 类似,这里不再展开讲解

数据代码如下所示

USB-设置地址(二)

设备描述符获取到之后,下一步就是获取配置描述符,数据过程如下

USB-设置地址(二)

0x80 数据传输方向为从设备到主机,请求的类型为标准类型,请求的接受者为设备

0x06 请求代码是 0x06 获取描述符的请求

0x00

0x02 描述符的类型编号为 0x02 即配置描述符

0x00

0x00 只在获取字符串描述符中有用到

0xFF请求设备返回数据的字节数为 0xFF

0x00