我正在尝试理解 USB 描述符。为了进行探索,我使用 usbtreeview 软件获取了我的 USB 耳机描述符。我对描述符层次结构的理解是:
我的问题来自附件(这里)描述符日志:
我只看到一个设备描述符——一切都好
我只看到一个配置与设备描述符中的条目匹配。
bNumConfigurations : 0x01 (1 Configuration)
- 一切都好
在配置描述符中,我看到接口数等于 4。
bNumInterfaces : 0x04 (4 Interfaces)
- 这就是问题开始的地方。在此之后我看到超过 4 个接口描述符,例如
---------------- 接口描述符----------------
------ 音频控制接口标头描述符 ------
-------- 音频控制输入端子描述符 --------
-------- 音频控制选择器单元描述符 --------
. . . .
等等
(this)中接口描述符的个数怎么可以大于4???
接口描述符是一个技术术语,指的是一段非常具体的数据。此数据以字节 0x09(长度)和 0x04(“接口描述符”的代码)开始。
注意像“Audio Control Interface Header Descriptor”这样的东西不是接口描述符,因为它们不是以0x09 0x04开头的。它们只是描述接口的数据片段,并且靠近接口描述符。
您的转储显示您有六个接口描述符:
因为他们各自描述了不同的界面或不同的界面替代设置,我认为这很好。
请参阅:USB 接口中的备用设置是什么?