努力正确发送 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
状态响应 0x12
(MISO
中的第 12 个字节)告诉我我的有效载荷长度、有效载荷结构或命令数据包有问题。有什么见解吗?
BlueNRG-MS 和 Bluenrg 的更新固件将 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
我有一个 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
状态响应 0x12
(MISO
中的第 12 个字节)告诉我我的有效载荷长度、有效载荷结构或命令数据包有问题。有什么见解吗?
BlueNRG-MS 和 Bluenrg 的更新固件将 GAP_INIT
命令从 1字节到3字节:
Role (1 byte):
0x01:Peripheral 0x02: Broadcaster 0x04: Central 0x08: ObserverPrivacy (1 byte):
0x00: Privacy is disabled 0x01: Privacy is enabledLength of Device Name (1 byte):
Length of the device name characteristic