【USB笔记】 标准请求 设置接口Set Interface

本文详细介绍了USB设备中SetInterface请求的格式、功能、参数及其在设备配置状态下的应用。该请求用于主机选择接口的替代设置,对bulk、interrupt、isochronous数据toggle进行重置,并在不存在指定设置时返回错误。了解这一请求对于USB设备的交互和调试至关重要。
摘要由CSDN通过智能技术生成

USB笔记 标准请求 设置接口 Set Interface

格式

bmRequestTypebRequestwValuewIndexwLengthData
00000001BSET_INTERFACEAlternate SettingInterfaceZeroNone

功能

这个请求用于主机为指定的接口选择替代设置(alternate setting)。

bmRequestType

bmRequestType00000001B
  bmRequestType.Recipient0b00001(Interface)
  bmRequestType.Type0b00(Standard)
  bmRequestType.Direction0b0(Host-to-Device)

接收端:接口(Interface)

类型:标准(Standard)

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

bRequest

SET_INTERFACE: 0x0b

wValue

选择的替代设置(alternate setting)。

这里的值是接口描述符 (Interface Descriptor)中的bAlternateSetting字段。

wIndex

接口的编号。

这里的接口号是接口描述符 (Interface Descriptor)中的bInterfaceNumber字段。

wLength

wLength字段固定为0x0000。

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

Data

无数据阶段(Data stage)。

说明

有些设备配置的接口具有互斥设置。该请求允许主机选择所需的替代设置(alternate setting)。如果设备只支持指定接口的默认设置,那么在请求的状态阶段(Status stage)可能会返回一个STALL事务包(STALL Transaction Packet)。这个请求不能用于更改配置的接口集合,如果需要更改则应使用SetConfiguration()请求代替。

如果接口或替代设置(alternate setting)不存在,则设备将以请求错误来响应,返回STALL。

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

这个请求会将bulk, interrupt, isochronous 的data toggles重置为DATA0 (USB 2.0)、Sequence Numbers重置为零(Enhanced SuperSpeed) 和重置增强型超高速批量端点(Enhanced SuperSpeed bulk endpoints)的突发大小(burst size)。

支持的状态

支持配置状态(Configured state),具体如下:

默认状态(Default state):未定义设备处于默认状态时接收到该请求时的设备行为。

地址状态(Address state):设备应该响应请求错误。

配置状态(Configured state):当设备处于配置状态时,这是一个有效的请求。

示例

Set Interface
Setup packet
Set Interface2

[参考资料]

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/112045449

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值