从零开始学USB(十、USB的描述符)

本文详细介绍了USB设备的描述符,包括设备描述符、配置描述符、字符串描述符、接口描述符、端点描述符以及USB3.0新增的描述符,如设备限定描述符、BOS、设备能力描述符等。描述符用于报告USB设备的属性,如设备信息、配置信息、字符串信息和端点特性。在Linux系统中,这些描述符的表示与协议规定一致。
摘要由CSDN通过智能技术生成

USB设备使用描述符报告其属性。描述符是具有定义格式的数据结构。每个描述符都以字节宽度字段开头,该字段包含描述符中的总字节数,后跟一个标识描述符类型的字节宽度字段。

使用描述符允许简单地存储各个配置的属性,因为每个配置可以重用具有相同特征的其他配置的描述符或描述符的部分。以这种方式,描述符类似于关系数据库中的各个数据记录。

适当时,描述符包含对字符串描述符的引用,这些字符串描述符提供以可读形式描述描述符的可显示信息。包含字符串描述符是可选的。但是,描述符中的引用字段是必需的。如果设备不支持字符串描述符,则必须将字符串引用字段重置为零,以指示没有可用的字符串描述符。

如果描述符返回的长度字段中的值小于此规范定义的值,则描述符无效,应由主机拒绝。如果描述符返回的长度字段中的值大于此规范定义的值,则主机将忽略额外的字节,但使用返回的长度而不是预期的长度来定位下一个描述符。

设备可以通过两种方式返回特定于类或特定于供应商的描述符:

  • 如果类或供应商特定描述符使用与标准描述符相同的格式(例如,以长度字节开头并后跟类型字节),则必须在GetDescriptor返回的配置信息中将它们与标准描述符交错返回(配置)请求。在这种情况下,类或特定于供应商的描述符必须遵循它们修改或扩展的相关标准描述符。
  • 如果类或供应商特定描述符独立于配置信息或使用非标准格式,则可以使用指定类或供应商特定
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

奔跑的小刺猬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值