今天遇到一个诡异的问题,困扰了我两天。
问题描述:使用Nordic官方例程 ble_app_uart_c作为central连接设备,连接状态下,设备进行Flash操作时会发生reset。而用Nordic的小工具nRF Connect(4.19.0)连接设备,则没有问题
分析过程:一堆检查设备端的BLE配置,都不好使,所以后来重点比对作为central的例程和工具中的参数配置差异。
使用nRF Connect连接设备,查看Debug信息,发现每次协商的连接间隔都是45.0ms。
而例程里配置的最大连接间隔为30ms
于是尝试将此值改为50,依然不好使。
没办法改成45,发现问题神奇的不见了!不见了!不见了!
这到底是为什么呢?
容我三思,再来回答!
-------华丽的分割线-------------
2022.4.28更新
经过几天的不懈努力,终于找到了根本原因。
首先,现象准确描述是:central连接设备,连接状态下将central断电,此时设备进行Flash操作,这时就会触发Wat