安卓手机连接NRF断连报错:Error 8 (0x8): GATT CONN TIMEOUT

中流击水 2022-04-14 20:26:09

最近用到NRF52820的HID,用官方的HID_KEYBOARD例程去改,增加一些自己的服务,最后发现苹果手机连接没有发现问题,但是安卓手机去连接,几乎每次连接后不久就随机断连

通过NRF connect查看断连原因,发现是Error 8 (0x8): GATT CONN TIMEOUT。而JLINK打印断连原因,同样也是08错误,如下图

 

 因为苹果没有问题,安卓有问题,一开始猜测可能是连接参数,因为不熟悉安卓手机的底层,所以先改蓝牙端的连接参数

/*lint -emacro(524, MIN_CONN_INTERVAL) // Loss of precision */
#define MIN_CONN_INTERVAL                   MSEC_TO_UNITS(50, UNIT_1_25_MS) //MSEC_TO_UNITS(7.5, UNIT_1_25_MS)           /**< Minimum connection interval (7.5 ms) */
#define MAX_CONN_INTERVAL                   MSEC_TO_UNITS(100, UNIT_1_25_MS)//MSEC_TO_UNITS(30, UNIT_1_25_MS)            /**< Maximum connection interval (30 ms). */
#define SLAVE_LATENCY                       0//6                                          /**< Slave latency. */
#define CONN_SUP_TIMEOUT                    MSEC_TO_UNITS(4000, UNIT_10_MS) //MSEC_TO_UNITS(430, UNIT_10_MS)             /**< Connection supervisory timeout (430 ms). */

以上红色为官方的参数,左边为我改后的参数,现在这个新参数有可能降低了数据传输的效率,因为连接参数变大了,不过解决了断连的问题。如果有安卓开发的小伙伴,能告诉我安卓的底层连接参数吗,以便在蓝牙设备端配置合适的参数,适配手机。

 

 

 

 

 

 

...全文
2652 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问

80,489

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧