5、标准的USB请求

5、USB Device Requests

所有的USB设备都会响应来自于主机默认控制管道的请求的,这些请求是使用控制传输发送的,请求和请求的参数在Setup packet包含,每个Setup packet都有8个字节.
在这里插入图片描述在这里插入图片描述
着重说一下wIndex和wLength,前面两个根据上表可以很容易理解.

  • wIndex

当bmRequestType的Recipient字段为接口或端点时,wIndex域用来表明是哪一个接口或端结。

图9-2显示了用于指定端点时的wIndex格式。
在这里插入图片描述Direction位(bit7)设置为零以指示具有指定端点编号的OUT端点,并指定一个以指示IN端点。 对于控制管道,请求应将Direction位设置为零,但设备可以接受Direction位的任一值。

图9-3显示了用于指定接口时的wIndex格式.
在这里插入图片描述

  • wLength

此字段指定在控制传输的第二阶段传输的数据的长度。数据传输的方向(主机到设备或设备到主机)由bmRequestType字段的方向位指示。如果该字段为零,则不存在数据传输阶段。
对于输入请求时,设备绝不能返回超出wLength值指示的数据的数据。但它可以返回的更少。
对于输出请求,wLength将始终指示主机要发送的确切数据量。如果主机发送的数据多于wLength中指定的数据,则设备行为未定义。

5.1 标准设备请求

USB设备必须响应标准设备请求,即使设备还没有被分配一个地址或没有被配置。
在USB2.0协议规范里面规定了如下的请求.
在这里插入图片描述

5.2 标准请求码(bRequest)

在这里插入图片描述

5.3 描述符类型

在这里插入图片描述

5.4 常用请求
  • GET_DESCRIPTOR
    在这里插入图片描述

    1. wValue见表9-5
    2. wIndex为0时表示其他描述符,为语言ID时,表示为字符串描述符
    3. wLength表示返回的数据长度
  • SET_ADDRESS
    在这里插入图片描述

  • SET_CONFIGUARTION
    在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值