在蓝牙协议中,COD(Class of Device)用于描述设备的类型和功能。COD 是一个三字节的值,由服务类、主要类和次要类组成。以下是您提到的两类蓝牙 COD 配置的详细解释,以及更多类型选项的组合。
1. 第一类配置
// SERVICE_CLASS: 0x20/AUDIO
// MAJOR CLASS : AUDIO
// MINOR CLASS : HIFI_AUDIO
// #define BTA_DM_COD {0x20, 0x04, 0x28}
解释:
-
SERVICE_CLASS (服务类):
0x20
表示该设备支持音频服务。 -
MAJOR CLASS (主要类):
0x04
表示设备的主要类型是音频设备。 -
MINOR CLASS (次要类):
0x28
表示设备具体的功能是高保真音频(Hi-Fi Audio)。
2. 第二类配置
// SERVICE_CLASS: 0x1A (Bit17 -Networking, Bit19 - Capturing, Bit20 - Object Transfer)
// MAJOR CLASS: COMPUTER
// MINOR CLASS: TABLET
// #define BTA_DM_COD {0x1A, 0x01, 0x1C}
解释:
-
SERVICE_CLASS (服务类):
0x1A
表示该设备支持网络、捕获和对象传输服务。 -
MAJOR CLASS (主要类):
0x01
表示设备的主要类型是计算机。 -
MINOR CLASS (次要类):
0x1C
表示设备的具体类型是平板电脑(Tablet)。
更多类型选项的组合
以下是一些常见的蓝牙 COD 组合及其解释:
1. 手机设备
// SERVICE_CLASS: 0x1F (Telephony)
// MAJOR CLASS: PHONE
// MINOR CLASS: SMARTPHONE
#define BTA_DM_COD {0x1F, 0x00, 0x1E}
2. 音频设备(耳机)
// SERVICE_CLASS: 0x20 (Audio)
// MAJOR CLASS: AUDIO
// MINOR CLASS: HEADSET
#define BTA_DM_COD {0x20, 0x04, 0x1A}
3. 计算机设备(桌面)
// SERVICE_CLASS: 0x1A (Networking)
// MAJOR CLASS: COMPUTER
// MINOR CLASS: DESKTOP
#define BTA_DM_COD {0x1A, 0x01, 0x1A}
4. 车载设备
// SERVICE_CLASS: 0x24 (Audio)
// MAJOR CLASS: AUDIO
// MINOR CLASS: CAR_AUDIO
#define BTA_DM_COD {0x24, 0x02, 0x00}
5. 便携式设备
// SERVICE_CLASS: 0x1B (Networking)
// MAJOR CLASS: COMPUTER
// MINOR CLASS: HANDHELD
#define BTA_DM_COD {0x1B, 0x01, 0x1D}
蓝牙设备分类中可用的服务类、主要类和次要类的类型参数:
1. 服务类 (Service Class)
- 0x00: 其他
- 0x01: 计算机
- 0x02: 电话
- 0x04: 网络
- 0x08: 音频
- 0x10: 视频
- 0x20: 音频/视频
- 0x1F: 电话服务
- 0x40: 传感器
2. 主要类 (Major Class)
- 0x00: 未知
- 0x01: 计算机
- 0x02: 电话
- 0x03: 伺服器
- 0x04: 网络设备
- 0x05: 音频/视频设备
- 0x06: 便携式设备
- 0x07: 其他设备
3. 次要类 (Minor Class)
- 0x00: 未知
- 0x01: 计算机
- 0x02: 手机
- 0x03: 传真机
- 0x04: 调制解调器
- 0x05: 便携式音频播放器
- 0x06: 便携式视频播放器
- 0x07: 便携式游戏机
- 0x08: 便携式打印机
- 0x09: 便携式扫描仪
总结
蓝牙 COD 配置允许设备通过其类型和功能进行分类。不同的服务类、主要类和次要类的组合可以帮助设备识别其能力和用途。根据设备的实际功能,您可以选择合适的 COD 配置来确保设备之间的兼容性和功能性。