努力正确发送 GAP_INIT 命令(带负载的 HCI 命令)

Struggling to dispatch GAP_INIT command correctly (HCI commands with payloads)

我有一个 ST Micro 蓝牙 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

状态响应 0x12MISO 中的第 12 个字节)告诉我我的有效载荷长度、有效载荷结构或命令数据包有问题。有什么见解吗?

BlueNRG-MSBluenrg 的更新固件将 GAP_INIT 命令从 1字节3字节

Role (1 byte):
0x01:Peripheral 0x02: Broadcaster 0x04: Central 0x08: Observer

Privacy (1 byte):
0x00: Privacy is disabled 0x01: Privacy is enabled

Length of Device Name (1 byte):
Length of the device name characteristic