从零开始学USB(十六、标准的USB请求)

本文详细介绍了USB设备如何响应主机的控制传输请求,特别是标准设备请求的各个方面,包括bmRequestType、bmRequest、wValue、wIndex和wLength等字段的含义和用途。通过对各种请求类型的解析,如清除特性、获取描述符、设置地址、设置配置、获得接口和获取状态,深入理解USB通信机制。

所有USB设备都响应设备默认控制管道上主机的请求。 这些请求是使用控制传输进行的。 请求和请求的参数将在Setup数据包中发送到设备。 主机负责建立表9-2中列出的字段中传递的值。 每个Setup数据包都有8个字节

 

一、bmRequestType(向谁请求)

D7:传输方向

  • 0 = 主机至设备;
  • 1 = 设备至主机;

D6..5:命令类型

  • D6D5=00:标准请求命令; 
  • D6D5=01:类请求命令;
  • D6D5=10:用户定义命令;
  • D6D5=11:保留。

D4..0:接受者类型

  • 0=设备;
  • 1=接口;
  • 2=端点;
  • 3=其它
  • 4..31 保留

这个域表明此请求的特性。特别地,这个域表明了第二阶段控制传输方向。如果wLength域被设作0的话,表明没有数据传送阶段,那Direction位就会被忽略.

USB说明定义了一系列所有设备必须支持的标准请求。这些请求见下面的表。另外,一个设备类可定义更多的请求。设

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的小刺猬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值