在开发过程中,发生如下错误提示。
<error> app: ERROR 8198 [Unknown error code] at F:\project\my-test-embedded\tools\uart_ble_nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_uart\main.c:329
PC at: 0x0002E957
通过查看代码,发现是进入sleep的时候,发生了错误。此错误的原因是。正在debug的过程中。
1.因没有BLE连接。且超过了广播持续时间。SDK就会进入睡眠模式
2.但是此时因为开了DEBUG。所以进入睡眠就会失效。产生错误。
解决方法
1.修改广播持续时间
BLE的SDK在广播结束后,如果仍然没有连接。广播就会进入空闲状态。并调用关机函数sleep_mode_enter().但是有些应用并不希望进入关机。而是要时刻保持广播。则要怎么办呢。
通过调整广播持续时间。默认的SDK持续时间是180S,也就是3分钟。。可以适当延长。但是不能延长太多。否则会导致广播初始化失败。
1.在DEBUG定义的宏去掉。
如果这里选择了debug。则默认会包含DEBUG宏定义
参考文档
文档1-nordic的问答