【USB笔记】 标准请求 设置地址Set Address

USB笔记 标准请求 设置地址 Set Address

格式

bmRequestTypebRequestwValuewIndexwLengthData
00000000BSET_ADDRESSDevice AddressZeroZeroNone

功能

这个请求用于为所有后续的设备访问设置设备地址。

bmRequestType

bmRequestType00000000B
  bmRequestType.Recipient0b00000(Device)
  bmRequestType.Type0b00(Standard)
  bmRequestType.Direction0b0(Host-to-Device)

接收端:设备(Device)

类型:标准(Standard)

方向:主机到设备(Host-to-Device)

bRequest

SET_ADDRESS: 0x05

wValue

新的设备地址。wValue字段指定用于后续所有访问的设备地址。

最大有效值127。如果指定的设备地址大于127,则无效,不指定设备的行为。

wIndex

wIndex字段固定为0x0000。

如果wIndex不为零,则无效,不指定设备的行为。

wLength

wLength字段固定为0x0000。

如果wLength不为零,则无效,不指定设备的行为。

Data

无数据阶段(Data stage)。

说明

初始Setup packet之后的状态阶段(Status stage)采用与Setup packet相同的设备地址。在成功完成此请求的状态阶段之前,设备不会更改其设备地址。请注意,这是这个请求与其他所有请求之间的区别。对于其他所有请求,在状态阶段之前,应该完成所指示的操作。

支持的状态

支持默认状态(Default state)和地址状态(Address state),具体如下:

默认状态(Default state):如果指定的地址是个非零(non-zero)地址,则设备进入地址状态;否则,设备将保持处于默认状态(这不是一个错误条件)。

地址状态(Address state):如果指定的地址为零,则设备将进入默认状态;否则,设备将保持处于地址状态,但使用新指定的地址。

配置状态(Configured state):未定义设备处于配置状态时,接收到该请求时的设备行为。

示例

set address
setup packet
setup packet

[参考资料]

Universal Serial Bus Specification Revision 2.0

Universal Serial Bus 3.1 Specification

Universal Serial Bus 3.2 Specification

USB Complete, 5th Edition


本文链接:https://blog.csdn.net/u012028275/article/details/112005574

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值