蓝牙LMP响应超时 BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT

一、问题现象

蓝牙service端和client端使用蓝牙nus串口透传服务传输数据,在client端与service端建立连接后的30s后,蓝牙连接就会莫名断开(两设备相邻很近),查看断开的原因提示为BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT,就是LMP回复超时,查看了相关文档,只讲了LMP的相关协议,但并未查出会是什么原因导致LMP回复超时。

二、解决办法

为了做对比,直接下载了官方的uart_nus_c端的程序,然后连接service端传输数据,结果为超过30s不会自动断开链接,经过不懈的对比测试,最终发现是因为两端设置的最大MTU大小不一样导致的,只需要把NRF_SDH_BLE_GATT_MAX_MTU_SIZE改为和service一样的就可以了,但是为什么两端的mtu大小不一致会导致LMP回复超时,现在还没有想通,请教有知道的大佬说一下,非常感谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值