蓝牙发送经常处于gattc_server_busy状态状态怎么回??

6个帖子 / 0新
最后一篇文章
魏文彬
离线
最后一次露面:5个月6天前
加入:2019-04-10 03:51
蓝牙发送经常处于gattc_server_busy状态状态怎么回??

你好事?

我我的演示是ble_sps_peripheral

问题出现出现:ble_gatts_send_event里里ble_mgr_gatts_send_send_event_cmd_handler里ble_err_err_eror_busy

/ *检查Gatt Controller是否忙 */
if(ke_state_get(ke_build_id(task_gattc,cmd-> conn_idx)))&gattc_server_busy){
ret = ble_error_busy;
完成了;
}

我每数据前检查上蓝牙发送时候完成。若若上一次蓝牙蓝牙发送完成这这次次次。

设备:
pm_dialog
离线
最后一次露面:1天7小时前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

这是我们的英语论坛,客户用英语发布了他们的问题。因此,请尝试用英语翻译您的问题。否则,我建议您在我们的中文论坛上发布您的问题。

谢谢,pm_dialog

魏文彬
离线
最后一次露面:5个月6天前
加入:2019-04-10 03:51
好的

好的

您好,请问我何时使用DA14682蓝牙大量数据来连续发送数据。前20分钟是正常的。20分钟后,遇到该功能返回的BLE_ERROR_BUSY状态。请问这怎么样?

我使用的演示是ble_sps_peripheral

问题发生在函数中ble_gatts_send_event ble_mgr_gatts_send_send_event_cmd_handler ble_error_error_busy

/ *检查Gatt Controller是否忙 */
if(ke_state_get(ke_build_id(task_gattc,cmd-> conn_idx)))&gattc_server_busy){
ret = ble_error_busy;
完成了;
}

每次我将数据发送到蓝牙时,我都会检查何时发送最后一个蓝牙数据。仅当完成最后的蓝牙变速箱完成时,才能启动。

pm_dialog
离线
最后一次露面:1天7小时前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

感谢您将您的问题翻译成英语。正如您正确提到的那样,ble_error_busy ble_gatts_send_event()返回的可能错误之一。BLE_ERROR_BUSY表示GATT控制器很忙,因为它正在处理其他命令。如果指示是快速连续发送的,这可能会发生。在这种情况下,命令将排队排列,并在以后的时间由BLE Manger处理。BLE经理为此目的有自己的队列。您可以在BLE_MGR_GATTS.C源文件中检查流量中的“处理通知命令/事件”。

谢谢,pm_dialog

歌曲
离线
最后一次露面:7个月1周前
加入:2016-04-14 09:49
我也有同样的问题

SDK升级到1.0.14.1081,而1.0.8.1050的升级是正常的。

pm_dialog
离线
最后一次露面:1天7小时前
职员
加入:2018-02-08 11:03
嗨,歌,

嗨,歌,

您是否使用了我们的任何SDK示例,并且在最新的SDK中遇到了这个问题?

谢谢,pm_dialog