一、问题现象
蓝牙service端和client端使用蓝牙nus串口服务传输数据client端与service连接后的30端建立s之后蓝牙连接会莫名其妙的断开(两个设备相邻很近),检查断开的原因提示BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT,就是LMP回复超时,查了相关文件,只说了LMP相关协议,但不知道是什么原因LMP回复超时。
二、解决方案
为了比较,官方直接下载uart_nus_c然后连接端程序service结果超过30s链接不会自动断开,经过不懈的对比测试,最终发现是因为,只需要把NRF_SDH_BLE_GATT_MAX_MTU_SIZE改为和service可以一样,但是为什么两端都一样呢?mtu大小不一致会导致LMP回复超时,还没想通,