嗨支持,
在基于多链路演示的新项目启动新项目时,我目前正好使用一个主机设备和3个通过BLE连接的其他外围设备。
主设备通告100毫升并扫描1秒。停止API函数ble_gap_adv_stop.被调用,它返回状态0(OK)。但有时,返回值是可以的,但是广告的内部状态仍然是发信号通知,这意味着ble_dev_params->广告仍然是正确的。这可以保持高达100ms,然后是ble_gap_adv_stop.命令给出5(不允许)。这似乎没问题,因为两次停止没有意义。
问题:什么可以是什么原因ble_gap_adv_stop.不会停止广告(ble_dev_params->广告=真)?
斯蒂芬
设备:
嗨stefan_dialog,
我不太明白这个问题,你的意思是你发出ble_gap_adv_stop(),你得到ble_gap_adv_stop()本身的返回值,函数只发送命令,代码没有阻止,不等到堆栈执行命令。ble_gap_adv_stop()发送停止请求和实际广告停止当堆栈中有回复时,可以在应用程序的主要BLE任务中捕获来自堆栈的回复,例如在MultiLink项目完成广告中一旦BLE Manager将通知BLE_EVT_GAP_ADC_COMPLETED的任务,将发生,并且执行句柄_evt_gap_adv_Completed()函数。
谢谢mt_dialog.