BLE断开的原因

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
nigelyang
离线
最后看到:5天1小时前
加入:2018-03-20 08:24
BLE断开的原因

嗨,对话框中,

我正在开发我的项目基于“ble_sps_peripheral”项目代码。不明原因造成的通信中断频繁发生。我通过RTT查看器监视我的系统,得到如下的错误日志。
"handle_disconnected: conn_idx=0000 address=4a:a8:62:20:b2:4b reason=31" and some reason= 8。你能告诉我reason=8或=31是什么意思吗?我在哪里可以找到所有理由的意义?

谢谢你的回答。

设备:
PM_Dialog
离线
最后看到:13小时56分钟前
工作人员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

这些消息被放置在控制器代码中,因此您可以在ble_common.h头文件的ble_hci_error_t结构中找到原因的含义。0x08 (BLE_HCI_ERROR_CON_TIMEOUT)是一个连接超时,因此外设或中心在连接期间没有协调到监督超时,结果它们自动断开。31 = 0x1f (BLE_HCI_ERROR_UNSPECIFIED_ERROR)是一个未指定的错误,可能是由于窗口扩大得太高。我强烈建议您在ble_config.h头文件中添加以下定义,并增加监督超时(默认为1秒)和可选的连接间隔。

#define defaultBLE_PPCP_INTERVAL_MIN (BLE_CONN_INTERVAL_FROM_MS(10)) // 10毫秒

#define defaultBLE_PPCP_INTERVAL_MAX (BLE_CONN_INTERVAL_FROM_MS(20)) // 20ms

#define defaultBLE_PPCP_SLAVE_LATENCY(0) //事件数量

#define defaultBLE_PPCP_SUP_TIMEOUT (BLE_SUPERVISION_TMO_FROM_MS(1000)) // 1秒

谢谢,PM_Dialog