BLE扫描完整事件

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

嗨对话框,

我希望使用DA14680了解周围的蓝牙扫描结果。

ble_gap_scan_start(gap_scan_passive,gap_scan_observer_mode,defoultble_scan_interval,defaultble_scan_window,0,1);
定时器5秒
ble_gap_scan_stop();

我什么时候可以预期ble_evt_gap_scan_completed?扫描_stop()之后只会出现吗?
通常需要多长时间来获取ADV_REPORT完成缓冲区?

设备:
mt_dialog.
离线
最后一次露面:1年1月前
职员
加入:2015-06-08 11:34
嗨复仇,

嗨复仇,

扫描过程一旦执行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.

复仇者
离线
最后一次露面:4年前4天前
加入:2017-09-20 12:44
嗨对话框,

嗨对话框,
感谢您的信息。

静态void handle_evt_gap_adv_report(ble_evt_gap_adv_report_t * evt)
{

printf(“%s:%s信号强度:%d地址:%d:%d:%d:%d:%d:%d:%d \ r \ n”,__func __,EVT->数据,EVT-> RSSI,evt->地址.ddr [0],evt->地址.ddr [1],evt->地址.ddr [2],EVT->地址.DDR [3],EVT->地址.DDR [4],evt->地址.ddr [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:
/* "| 2,øvr&þþþÿí«信号强度:164地址:51:12:81:04:83:6

但是,EVT->数据有一些垃圾ASCII值。在事件数据中,BLE名称从哪个字节是来自EVT->数据[2]或EVT->数据[9]?...
如果BLE名称超过32个字符,会发生什么?

mt_dialog.
离线
最后一次露面:1年1月前
职员
加入:2015-06-08 11:34
嗨复仇,

嗨复仇,

您可以在广告字符串中放置的数据由BLE规范定义,并且仅限于31字节,从此长度3个字节保留,因此您只剩下28个字节,没有设备将与31字节的数据进行更多宣传,并遵守通过BLE规范。还通过BLE规范再次定义了哪些数据和如何存储在广告字符串中,例如,如果您想在广告字符串中包含设备的名称,则应在字节字符串中声明名称的长度和标记0x09,它对应于设备名称。请查看BLE规范以获取更多信息。

谢谢mt_dialog.