ARM平台上蓝牙协议栈Bluez的移植使用和配置(9)

时间:2025-03-13

ARM平台上蓝牙协议栈Bluez的移植使用和配置

字节是HCI Head,其中
00 fc :整体代表这是一个制造商自定义的命令。
13 :HCI命令长度为0x13。
C2 :包的内容是唯一的一个BCCMD数据包。

后面是BCCMD的Head
00 00 :这是一个GetReq命令
09 00 :BCCMD的命令9个word长度,及18字节
01 00 :seqno, 包的顺序标记 包1
03 70 :varid 7003, 表示这是对PSKEY的操作
00 00 :状态标志
再下来是BCCMD的payload
be 01 :0x01be 波特率PSKEY的index
01 00 :该PSKEY的长度为1
00 00 :strore 为 00
00 00 :该PSKEY的值,这里是发送读命令,所以填0

第二行的数据是将HCI包封装在了BCSP数据包里:
前面部分:c0 d1 65 01 c8 :
C0 :是BCSP数据包的分割符
D1 :类型为可靠链接数据流,有CRC校验
65 01 :channel 5 ( HCI CMD ), 长度为0x16
C8 :包头的校验
后面部分:69 a6 c0:
69 a6 :整个BCSP包的CRC校验
C0 :分隔符

其它命令类似的分析可得。

如果只是希望看到HCI命令本身,也可以用hcidump来看。这是上面的读pskey操作通过HCI接口操作的dump:

< HCI Command: Vendor (0x3f|0x0000) plen 19
BCCMD: Get req: len 9 seqno 1 varid 0x7003 status 0
PSKEY: key 0x01be len 1 stores 0x0000
UART_BAUDRATE: value 0 (0x0
000)

8.4 Hid / Serial / HF / OBEX
这几个比较常用的profile,还没测试哪。。。。。。谁给我买个蓝牙鼠标玩玩?!

8.5 总的遗留问题
整体上,PC上实现的自动识别,自动启动服务的一整套脚本,还没有仔细研究。

ARM平台上蓝牙协议栈Bluez的移植使用和配置(9).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219