0

我目前正在使用 BlueNRG-MS 堆栈使用两个带有IDB05A1蓝牙 LE 扩展的STM32F401RE Nucleo 板。一个板被配置为广告商模式。其他板配置为观察者模式,应该打印从广告商收到的所有消息。

当我使用如下所示的供应商特定命令开始观察过程时,一切正常,我可以LE_ADVERTISING_EVENTHCI_EVENT_CB函数中进行处理。

aci_gap_start_observation_procedure(0x4000, 0x4000, 0x00, 0x00, 0x00);

当我尝试使用如下所示的标准化蓝牙命令做同样的事情时,即使蓝牙标准说应该这样做,也会LE_ADVERTISING_REPORT在 中生成和处理no 。HCI_EVENT_CB

hci_le_set_scan_parameters(0x00, 0x4000, 0x4000, 0x00, 0x00);
hci_le_set_scan_enable(0x01, 0x00);

关于我做错了什么的任何想法?

提前致谢!

4

1 回答 1

0

您需要通过使用参数LL_WITOHUT_HOST调用来启用模式:ACI_HAL_WRITE_CONFIG_DATA

  • 偏移量 = 0x2C
  • 长度 = 1
  • 值 = 1

但是,建议坚持使用 GAP 和 GATT(不要启用此模式),因为主机保证与 BLE 规范完全兼容。

于 2018-03-08T03:08:32.710 回答