嗨,团队,
我有质疑在网格应用程序中进行分离的扫描,如下线程。
但当我调用ble_gap_scan_start()和ble_get_event()在单独的任务中获得BLE事件,控制台说另一个扫描已经运行,不仅BLE_EVT_GAP_ADV_REPORT/BLE_EVT_GAP_SCAN_COMPLETED,但其他事件也在同一任务中接收。
最终,MESH应用程序不能工作。
如何在多个任务中分离BLE事件处理?
设备:
嗨,团队,
我有质疑在网格应用程序中进行分离的扫描,如下线程。
但当我调用ble_gap_scan_start()和ble_get_event()在单独的任务中获得BLE事件,控制台说另一个扫描已经运行,不仅BLE_EVT_GAP_ADV_REPORT/BLE_EVT_GAP_SCAN_COMPLETED,但其他事件也在同一任务中接收。
最终,MESH应用程序不能工作。
如何在多个任务中分离BLE事件处理?
嗨firebird。
我假设你正在做ble_mesh项目。否则,请注明你的工作地点。既然你已经修改了,能否分享一下我们做了哪些修改,你的要求是什么?您是否添加了自定义任务?
谢谢,PM_DIALOG.
你好,
是的,我正在使用带有网格SDK 1.6.1的BLE_MESH示例。
我添加了以下任务,并在设备配置完成后启动它。
目前,这个任务只是开始另一个扫描和检查RSSI强度。稍后我会添加一些用于识别特定设备的代码。
嗨Firebird,
你能在调试模式下运行你的代码吗?它会卡在什么地方吗?
谢谢,PM_DIALOG.
此代码运行一段时间和随机卡。
每次卡住,位置都不一样,所以找不出原因。
一些事件,如BLE_EVT_GAP_ADV_COMPLETED,它不是打算接收(与MESH函数相关)。
我想知道的是:
1.这种方法是否正确?即,我可以在不影响彼此的情况下在多个任务中获得BLE事件吗?
2.如果是这样,你可以检查我的代码和建议什么是错误的。
3.如果没有,回到最初的问题,我如何在MESH应用程序中执行单独的扫描?
任何更新?