USB2.0规范
+ -

USB 设置请求地址SetAddress

2020-09-15 4473 0
ID 请求码 说明
5 SET_ADDRESS 用来给设备分配地址

SetAddress 用于枚举(enumeration)阶段为设备分配一个唯一的地址,地址在 wValue 字段中且最大值为 127。该请求特别的地方在于,直到状态阶段完成,设备才完成地址设置。其他所有请求必须在状态阶段之前完成。该请求同样无数据阶段。

bmRequestType(1) bRequest(1) wValue(2) wIndex(2) wLength(2)
00 05 设备地址 0000 0000
  • bmRequestType为00,代表主机到设备。
  • bRequest为0x05,代表设置地址。

SET_ADDRESS示例

00 05 11 00 00 00 00 00

执行完成后,将设置的地址设为17,这样以后所有与该设备的通读地址都是17,例如下面的获取设备描述符

SET_ADDRESS示例

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB2.0设备枚举-主机设置设备地址事务
USB主机在首次获取设备描述符后,知道了设备的默认端点大小。后续一个重要的操作是对设备分配地址。对USB设备分配地址是通过标准请求SetAddress来完成后。其具体的过程如下图所示:SetAddress包括2个事务。第一个事务是对主机设置地址,第二个事务是主机对设备返加一个0字节的数据包,用于确......
USB 设置请求地址SetAddress
ID请求码说明5SET_ADDRESS用来给设备分配地址SetAddress 用于枚举(enumeration)阶段为设备分配一个唯一的地址,地址在 wValue 字段中且最大值为 127。该请求特别的地方在于,直到状态阶段完成,设备才完成地址设置。其他所有请求必须在......
USB设备SetAddress失败
有的时候插拔USB设备,会出现各种各样的情况。我们其实见到的最多的是获取设备描述符失败。详见https://www.usbzh.com/article/detail-395.html另一种情况就是Set Address Failed。这种情况在系统中表现为:第一次获取设备描述符成功后,主机向设备分配......
USB主机控制器分配设备地址SetAddress
我们都知道USB总线负责对USB设备的管理,这里包括分配地址。但这个地址的分配其实是由USB主机控制器来实现的。这里我们以WINXP的usbehci.sys驱动为例进行分析。一条USB总线线上最多包括127个设备(包括该USB控制器下的USB根集线器),所以在USB主机控制器的其通过一个数据大小为......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!