FAQKW36蓝牙通信异常

KW36的协议栈异常问题,客户在连接过程中启动无连接广播,断开连接后启动可连接广播。但是连接完成后蓝牙通信异常,断开连接后没有收到断开连接事件,无法启动可连接广播。
更新时间:2022.03.04 浏览量:0

根据客户应用逻辑编写测试代码:上电启动广播->连接完成后启动不可连接广播->断开连接后启动可连接广播。

在用户应用逻辑上添加:启动不可连接广播后,在BleApp_AdvertisingCallback中调用循环调用MEM_BufferAlloc(4),直至MEM_BufferAlloc返回NULL。

使用nRF Connect测试,APP点击连接后可以扫描到设备的不可连接广播,但不能显示连接成功,不可连接广播一直维持,不会出现可连接广播,所以应用层没有收到断开连接事件,也无法再次连接。

测试结果和客户异常现象基本一致,在Memory Manager的内存耗尽时会协议栈底层会出现异常,建议客户检查MSG_Alloc、MEM_BufferAlloc、MEM_BufferAllocWithId等函数的使用情况。

  • 上一篇:KW36-升级方式
  • 下一篇:KW36-外部32M晶振调试方法