BLE扫描完成事件

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
vengatesan
离线
最后一次露面:3年5个月前
加入:2017年9月20日12:44
BLE扫描完成事件

嗨对话框,

我希望得到周围使用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完整的缓冲?

设备:
mt_dialog.
离线
最后一次露面:6个月4周前
职员
加入:2015-06-08 11:34
嗨vengatesan,

嗨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.

vengatesan
离线
最后一次露面:3年5个月前
加入:2017年9月20日12:44
嗨对话框,

嗨对话框,
谢谢你的信息。

静态无效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个字符?

mt_dialog.
离线
最后一次露面:6个月4周前
职员
加入:2015-06-08 11:34
嗨vengatesan,

嗨vengatesan,

可以在广告字符串放置数据由BLE规范定义,并从该长度为3个字节被保留,所以你只留下28字节限于31bytes,没有装置将与多个数据做广告超过31个字节,并且符合与BLE规范。还什么数据以及数据如何存储在由例如BLE规范重新定义广告字符串如果你希望包括在广告串设备的名称,你应该申报字节,标签名称的长度0×09,其对应于装置名。请检查BLE规范这方面的更多信息。

谢谢mt_dialog.