嗨对话框,
我希望得到周围使用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.
嗨对话框,
谢谢你的信息。
静态无效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信号强度:168个地址: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规范定义,并从该长度为3个字节被保留,所以你只留下28字节限于31bytes,没有装置将与多个数据做广告超过31个字节,并且符合与BLE规范。还什么数据以及数据如何存储在由例如BLE规范重新定义广告字符串如果你希望包括在广告串设备的名称,你应该申报字节,标签名称的长度0×09,其对应于装置名。请检查BLE规范这方面的更多信息。
谢谢mt_dialog.