嗨,对话框中,
我想要使用DA14680得到周围的蓝牙扫描结果。
ble_gap_scan_start (GAP_SCAN_PASSIVE GAP_SCAN_OBSERVER_MODE、defaultBLE_SCAN_INTERVAL defaultBLE_SCAN_WINDOW, 0, 1);
定时器5秒
ble_gap_scan_stop ();
我什么时候可以期待BLE_EVT_GAP_SCAN_COMPLETED?它只出现在scan_stop()之后吗?
通常需要多少时间得到adv_report完成缓冲区?
设备:
嗨vengatesan,
扫描过程一旦开始ble_gap_scan_start()函数执行,当你使用GAP_SCAN_OBSERVER_MODE那么过程没有超时,它将继续扫描,直到你简洁取消它,当使用GAP_SCAN_GEN_DISC_MODE或GAP_SCAN_LIM_DISC_MODE,然后程序将在大约10秒后自动超时。关于BLE_EVT_GAP_SCAN_COMPLETED,是的在您调用ble_gap_scan_stop()代码将发送取消命令并停止扫描过程然后SDK将与BLE_EVT_GAP_SCAN_COMPLETED消息尽快回复扫描已经停止,此消息以及扫描时发生超时。关于这个问题还需要多少时间完成缓冲区,设备将报告任何设备可以找到在空中一次(每广告字符串空气将报告),它不会填满缓冲区,它最终将被填满,将停止报告设备。
由于MT_dialog
嗨,对话框中,
谢谢您提供的信息。
void handle_evt_gap_adv_report(ble_evt_gap_adv_report_t *evt)
{
printf (" % s: % s信号强度:地址:% d % d: % d: % d: % d: % d: % d \ r \ n”,__func__, evt - >数据,evt - > rssi, evt - > address.addr [0], evt - > address.addr [1], evt - > address.addr [2], evt - > address.addr [3], evt - > address.addr [4], evt - > address.addr [5]);
}
我有一些扫描结果。
handle_evt_gap_adv_report: TestBLEname signal strength: 168 address: 81:47:29:85:5:43
handle_evt_gap_adv_report:
信号强度:170地址:18:30:11:25:39:14
handle_evt_gap_adv_report:
/ *¦½ØVR¬。ÆþíÿÍ«信号强度:164地址:51:12:81:04:83:6
但evt->数据有一些垃圾ASCII值。在事件数据BLE名称开始字节从哪个字节是它从evt->数据[2]或evt->数据[9]?…
如果BLE名称超过32个字符会发生什么?
嗨vengatesan,
的数据可以在广告字符串BLE规范定义的,是有限的31个字节从这3个字节长度保留所以你只剩下28字节,没有设备,将广告更多的数据比31个字节并遵守BLE规范。还什么数据,数据如何存储在广告由BLE规范字符串定义了例如如果你想包括设备在广告的名称字符串应该声明名称的长度字节和标签0 x09,对应的设备名称。请检查BLE规范以获得更多信息。
由于MT_dialog