我有一个ST Micro Bluetooth 4.1 Bluenrg芯片通过SPI连接到xmega256a3u。我可以与芯片通信并发送简单的命令(例如HCI_READ_LOCAL_VERSION_INFORMATION
(0x1001))。
当我尝试发送带有效负载的ACI命令(例如GAP_INIT
(0xFC8A))时出现问题。
MOSI 0x0A 0x00 0x00 0x00 0x00 0x01 0x8A 0xFC 0x01 0x01
MISO 0x02 0x7F 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF
然后阅读:
MOSI 0x0B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
MISO 0x02 0x7F 0x00 0x0C 0x00 0x04 0x0E 0x0A 0x01 0x8A 0xFC 0x12 0x00 0x00 0x00 0x00 0x00 0x00
状态响应0x12
(MISO
中的第12个字节)告诉我,我的有效负载长度,有效负载结构或命令包有问题。有什么见解吗?
答案 0 :(得分:2)
BlueNRG-MS 和 Bluenrg 的较新固件将GAP_INIT
命令从 1字节更改为 3 bytes :
角色(1个字节):
0x01:外设0x02:广播器0x04:中央0x08:观察者隐私(1字节):
0x00:禁用隐私0x01:启用隐私设备名称长度(1个字节):
设备名称特征的长度