Bluetooth 难以正确分派GAP_INIT命令(带有效负载的HCI命令)

Bluetooth 难以正确分派GAP_INIT命令(带有效负载的HCI命令),bluetooth,bluetooth-lowenergy,gatt,Bluetooth,Bluetooth Lowenergy,Gatt,我有一个ST Micro Bluetooth 4.1 Bluenrg芯片,通过SPI与xmega256a3u通信。我可以与芯片通信并发送简单的命令(例如,HCI\U读取\U本地\U版本\U信息(0x1001)) 当我尝试发送带有有效负载的ACI命令时(例如,GAP\u INIT(0xFC8A))会出现问题 然后读: MOSI 0x0B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x

我有一个ST Micro Bluetooth 4.1 Bluenrg芯片,通过SPI与xmega256a3u通信。我可以与芯片通信并发送简单的命令(例如,HCI\U读取\U本地\U版本\U信息(0x1001))

当我尝试发送带有有效负载的ACI命令时(例如,
GAP\u INIT
(0xFC8A))会出现问题

然后读:

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字节)告诉我,我的有效负载长度、有效负载结构或命令包有问题。任何细节?

BlueNRG MS和BlueNRG的更新固件将
GAP\u INIT
命令从1字节更改为3字节:

角色(1字节):
0x01:外围设备0x02:广播机0x04:中央设备0x08:观察者

隐私(1字节):
0x00:隐私已禁用0x01:隐私已启用

设备名称的长度(1字节):
设备名称特征的长度

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