嗨,团队,
我质疑在网格应用程序中做分离扫描,如下线程。
但当我调用ble_gap_scan_start()和ble_get_event()在单独的任务,控制台说另一个扫描已经运行,不仅BLE_EVT_GAP_ADV_REPORT/BLE_EVT_GAP_SCAN_COMPLETED,但其他事件也收到在同一任务。
最后,网格应用程序没有工作。
如何在多个任务中分离BLE事件处理?
设备:

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