USB描述符总结

USB描述符总结
参考网址:https://blog.csdn.net/beArobot/article/details/84000656
https://wenku.baidu.com/view/3a122b337275a417866fb84ae45c3b3567ecdd12.html
一、USB描述符:主机识别USB设备的根据,主机根据设备的描述符来加载相应的驱动程序。
二、描述符的分类:三大类
标准类描述符、设备类描述符、厂商描述符。
具体如下图:
在这里插入图片描述
三、使用的几种类  
设备类DeviceClass
在这里插入图片描述在这里插入图片描述
接口类InterfaceClass
在这里插入图片描述
四、标准描述符
1.设备描述符
在这里插入图片描述在这里插入图片描述
2.配置描述符
在这里插入图片描述
3.接口描述符
在这里插入图片描述
(1)bLength
整个配置描述符的长度,固定为0x09.

(2)bDescriptorType
由USB给配置描述符分配的类型编号, 值为常数0x04。

(3)bInterfaceNumber
接口的编号,如果一个配置拥有N个接口, 那么这些接口都是互不相干的, 每一个接口都有惟一的编号, USB就是通过此字段来识别不同的接口。默认值为0。

(4)bAlternateSetting
USB设备的配置与USB配置描述符是一一对应的, 即一个配置只能有一个配置描述符。USB允许多个接口描述符来描述同一个接口, 而且这些描述符都可以通过命令来切换。这里,此字段就是每一个这类描述符惟一的编号。USB可以通过调用这个字段来切换描述同一个接口的不同描述符。控制传输中可以通过Get_Interface和Set_Interface来获取、设置目前正在使用的描述一个确定接口的接口描述符的编号。

(5)bNumEndpoints
该接口使用的端点总数(除端点0之外)。如果此值为0, 则意味着该接口只使用了端点0。

(6)bInterfaceClass
该接口所属的类别。这个类别编号由USB来分配。当值为0xFF时, 表示该接口是厂商所定义的接口类型。而值0保留。

(7)bInterfaceSubClass
接口所属的类别中的子类类型。这个子类编号也由USB分配。同bInterfaceClass字段一样, 当其值为0xFF时代表该接口由厂商自己所定义。而值0保留。

(8)bInterfaceProtocol
此接口类所遵循的类的协议。因而, 该字段的值跟bInterfaceClass和bInterfaceSubClass字段是相关的。其值从1~0xFE由USB分配, 代表不同标准的设备类的协议。 当值为0时, 表示该接口不遵循任何类协议; 而值为0xFF时, 表示该接口应用了厂商自定义的类协议。

(9)iInterface
指向字符串描述符中相应的字符串内容, 用于描述该接口。 如果设备没有启用字符串描述符 , 则该值为0。

4.端点描述符
在这里插入图片描述
5.字符串描述符
在这里插入图片描述
五、HID设备类描述符
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值