在何处查找有关自定义USB描述符类型的信息
从USB设备读取配置数据(使用0x200 wValue获取描述符操作)会得到描述符类型为0x22的描述符块。我不太清楚那是什么 描述符块(紧跟在接口描述符之后):在何处查找有关自定义USB描述符类型的信息,usb,Usb,从USB设备读取配置数据(使用0x200 wValue获取描述符操作)会得到描述符类型为0x22的描述符块。我不太清楚那是什么 描述符块(紧跟在接口描述符之后):14,22,00,01,13,81,1d,00,17,01,02,08,13,01,0c,00,0c,01,02,08 那么,有谁能告诉我它是什么,但更重要的是,我通常应该去哪里查找自定义类型描述符的信息?我会遇到其他描述符类型吗?我希望我能准确地记录下我是如何偶然发现这个解释的搜索路径,因为我花了很长时间,还有@kuldeepsing
14,22,00,01,13,81,1d,00,17,01,02,08,13,01,0c,00,0c,01,02,08
那么,有谁能告诉我它是什么,但更重要的是,我通常应该去哪里查找自定义类型描述符的信息?我会遇到其他描述符类型吗?我希望我能准确地记录下我是如何偶然发现这个解释的搜索路径,因为我花了很长时间,还有@kuldeepsingdhaka帮助我重新追踪我的脚步。这在USB规范中有点狡猾,因为它有点不明显 我使用的是参考,以后版本中的章节号可能不匹配 摘自第9.4.3节 wValue为0x200表示请求为标准(或第一个低字节0)、配置描述符(高字节0x2) 摘自第9.5节 如果特定于类别或供应商的描述符独立于 配置信息或使用非标准格式 GetDescriptor()指定特定于类或供应商的请求 描述符类型和索引可用于从中检索描述符 这个装置。类别或供应商规范将定义 检索这些描述符的适当方法 摘自,第3.11节: bDescriptorType字段的最高有效位保留供将来使用。 ... bDescriptorType字段的下两个最高有效位用于指示标准、类别或类型 特定于供应商的描述符。这些位使用的编码与 USB设备请求设置包。因为bDescriptorType字段的上三位用作 如上所述,可以为任何类别定义的唯一描述符的最大数量 (标准、类别或设备特定)为32 下面是我如何解释上述内容,并将其应用到我所看到的(一些M$)设备中 描述符类型的定义结构为:
- 位7:保留0
- 位6..5:
- 0:标准
- 1:课堂
- 2:供应商
- 3:保留
- 位4..0:描述符ID
(*)描述符可能适用于设备或接口。我的理解是,如果描述符类型是基于类的,则基于其位置,它适用于设备或接口的类。我希望我已经准确记录了我是如何偶然发现这个解释的搜索路径,因为我花了很长时间,@kuldeepsingdhaka有助于重新跟踪我的步骤。这在USB规范中有点狡猾,因为它有点不明显 我使用的是参考,以后版本中的章节号可能不匹配 摘自第9.4.3节 wValue为0x200表示请求为标准(或第一个低字节0)、配置描述符(高字节0x2) 摘自第9.5节 如果特定于类别或供应商的描述符独立于 配置信息或使用非标准格式 GetDescriptor()指定特定于类或供应商的请求 描述符类型和索引可用于从中检索描述符 这个装置。类别或供应商规范将定义 检索这些描述符的适当方法 摘自,第3.11节: bDescriptorType字段的最高有效位保留供将来使用。 ... bDescriptorType字段的下两个最高有效位用于指示标准、类别或类型 特定于供应商的描述符。这些位使用的编码与 USB设备请求设置包。因为bDescriptorType字段的上三位用作 如上所述,可以为任何类别定义的唯一描述符的最大数量 (标准、类别或设备特定)为32 下面是我如何解释上述内容,并将其应用到我所看到的(一些M$)设备中 描述符类型的定义结构为:
- 位7:保留0
- 位6..5:
- 0:标准
- 1:课堂
- 2:供应商
- 3:保留
- 位4..0:描述符ID
(*)描述符可能适用于设备或接口。我的理解是,如果描述符类型是基于类的,则根据其位置,它适用于设备或接口的类。尝试一些USB分析器,如USBview、Ellysis visual USB Analyzer,这将有助于消除您的疑问。尝试一些USB分析器,如USBview,Ellysis visual USB Analyzer有助于澄清您的疑问您能否引用信息来源(e