CDC 电话操作模式功能描述符
2025-07-10
0
0
电话操作模式功能描述符(Telephone Operational Modes Functional Descriptor)用于描述设备支持的电话操作模式,主机可据此实现对电话设备不同工作模式的管理和切换。
该描述符用于描述通信类接口(SubClass为电话控制,Telephone Control)所支持的操作模式。它只能出现在接口描述符的类特定部分。支持的模式包括:简单模式(Simple)、独立模式(Standalone)、计算机中心模式(Computer Centric)。
对于多线路电话设备,通常通过联合功能描述符(Union Functional Descriptor)指定一个接口为主控接口,电话操作模式功能描述符只需出现在主控接口的描述符中。
偏移 | 字段名 | 大小 | 值/类型 | 描述 |
---|---|---|---|---|
0 | bFunctionLength | 1 | 数值 | 此功能描述符的字节数 |
1 | bDescriptorType | 1 | 常量 | CS_INTERFACE 描述符类型 |
2 | bDescriptorSubtype | 1 | 常量 | 电话操作模式功能描述符子类型 |
3 | bmCapabilities | 1 | 位图 | 本配置支持的操作模式:<br> D7..D3: 保留,置零<br> D2: 1-支持计算机中心模式,0-不支持<br> D1: 1-支持独立模式,0-不支持<br> D0: 1-支持简单模式,0-不支持 |
示例(C结构体及二进制示例)
C结构体定义
typedef struct _USB_CDC_TELEPHONE_OPERATIONAL_MODES_DESCRIPTOR {
uint8_t bFunctionLength; // 描述符长度
uint8_t bDescriptorType; // CS_INTERFACE (0x24)
uint8_t bDescriptorSubtype; // Telephone Operational Modes subtype (0x08)
uint8_t bmCapabilities; // 能力位图
} USB_CDC_TELEPHONE_OPERATIONAL_MODES_DESCRIPTOR;
示例数据(假设设备支持所有三种模式)
字节序号 | 值(十六进制) | 含义 |
---|---|---|
0 | 0x04 | bFunctionLength = 4 |
1 | 0x24 | bDescriptorType = CS_INTERFACE |
2 | 0x08 | bDescriptorSubtype = Telephone Operational Modes |
3 | 0x07 | bmCapabilities = 0000 0111B (D2~D0均为1) |
二进制示例:
04 24 08 07
说明
- bFunctionLength:通常为4(字节)
- bDescriptorType:固定为0x24(CS_INTERFACE)
- bDescriptorSubtype:电话操作模式功能描述符为0x08
- bmCapabilities:能力位图,D2=计算机中心,D1=独立,D0=简单