CDC 多通道管理功能描述符
2025-07-10
0
0
Multi-Channel Management Functional Descriptor(多通道管理功能描述符)多通道管理功能描述符用于标识设备支持哪些多通道相关的标准请求和功能,主机据此决定可用的控制命令和参数管理方式。
该描述符用于描述通信类接口(SubClass为多通道控制模型,Multi-Channel Control Model)所支持的命令。它只能出现在接口描述符的类特定部分。
描述符结构
偏移 | 字段名 | 大小 | 值/类型 | 描述 |
---|---|---|---|---|
0 | bFunctionLength | 1 | 数值 | 此功能描述符的字节数 |
1 | bDescriptorType | 1 | 常量 | CS_INTERFACE 描述符类型 |
2 | bDescriptorSubtype | 1 | 常量 | 多通道管理功能描述符子类型 |
3 | bmCapabilities | 1 | 位图 | 本配置支持的能力位图(为0表示不支持该请求/通知):<br> D7..D3: 保留,置零<br> D2: 1-支持Set_Unit_Parameter请求<br> D1: 1-支持Clear_Unit_Parameter请求<br> D0: 1-设备将单元参数存储在非易失性存储器中 |
C结构体定义
typedef struct _USB_CDC_MULTI_CHANNEL_MANAGEMENT_DESCRIPTOR {
uint8_t bFunctionLength; // 描述符长度
uint8_t bDescriptorType; // CS_INTERFACE (0x24)
uint8_t bDescriptorSubtype; // Multi-Channel Management subtype (0x0D)
uint8_t bmCapabilities; // 能力位图
} USB_CDC_MULTI_CHANNEL_MANAGEMENT_DESCRIPTOR;
示例数据(假设设备支持所有功能)
字节序号 | 值(十六进制) | 含义 |
---|---|---|
0 | 0x04 | bFunctionLength = 4 |
1 | 0x24 | bDescriptorType = CS_INTERFACE |
2 | 0x0D | bDescriptorSubtype = Multi-Channel Management |
3 | 0x07 | bmCapabilities = 0000 0111B (D2~D0均为1) |
二进制示例:
04 24 0D 07
说明
- bFunctionLength:通常为4(字节)
- bDescriptorType:固定为0x24(CS_INTERFACE)
- bDescriptorSubtype:多通道管理功能描述符为0x0D
- bmCapabilities:能力位图,详见上表