![21天入门低功耗蓝牙5.x开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/359/44819359/b_44819359.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.5.3 Log打印功能
在应用开发过程中,开发者难免会遇到各种问题,在碰到问题时,Log打印就成了开发过程中不可缺少的工具之一。本节主要介绍如何在SES中使用Log打印功能。
(1)最常用的Log打印方式有RTT打印和串口打印两种。串口打印是指通过UART输出Log,可以通过串口调试助手来查看Log;RTT打印是指通过SWD接口输出Log,可以通过RTT Viewer来查看Log。
RTT Viewer的配置如图1-58所示,打印窗口如图1-59所示。
![](https://epubservercos.yuewen.com/D95702/23950066309696006/epubprivate/OEBPS/Images/43149-00-51-1.jpg?sign=1738952194-XRHUXFkrwr0nXbIxXzbhigGtzhly6X9N-0-dcdfeab36b57e696f2cda62987ac687e)
图1-58
![](https://epubservercos.yuewen.com/D95702/23950066309696006/epubprivate/OEBPS/Images/43149-00-51-2.jpg?sign=1738952194-TUJaZEcrdBnLelVgha3AsInbkQpOnper-0-51e9f3824c5e4c11009f7c8c7a3307e3)
图1-59
(2)串口调试助手的默认波特率为115200,打印窗口如图1-60所示。
![](https://epubservercos.yuewen.com/D95702/23950066309696006/epubprivate/OEBPS/Images/43149-00-51-3.jpg?sign=1738952194-o7QxRfYpdpxGFMPDO61WsAOFkFoziM2E-0-c24dc3df58600912ed60823338d48c3c)
图1-60
在实际的开发中,可以同时使用串口打印和RTT打印,也可以只使用其中的一种Log打印方式。Nordic的nRF52系列芯片的串口资源有限(nRF52805、nRF52810、nRF52820和nRF52832只有1路串口,nRF52833和nRF52840有2路串口),采用串口打印会占用芯片有限的串口资源及I/O,而RTT打印方式不占用串口资源且功耗比串口打印方式的功耗低很多,因此在开发时建议采用RTT打印方式。
(3)打开Log的相关宏定义。通过sdk_config.h中的宏定义可以打开Log。打开Log的方法是:首先通过下面的语句使能Log模块:
![](https://epubservercos.yuewen.com/D95702/23950066309696006/epubprivate/OEBPS/Images/43149-00-52-1.jpg?sign=1738952194-lmJcVaAdHxSvaVyTct5d1UhMmqs7Kavx-0-3dbed72aa7f70defc5015818451bc2d7)
然后根据需要,通过下面的语句来选择串口打印方式、RTT打印方式。
![](https://epubservercos.yuewen.com/D95702/23950066309696006/epubprivate/OEBPS/Images/43149-00-52-2.jpg?sign=1738952194-o6qSxqEpU3U8vIdV4jFVTfzGl7TUkxCf-0-452bb299b02e7abe3e98467b40820b4a)
Log打印有不同的等级,在正常使用时可以将等级设置为info等级(等级3),这时只打印必要的状态信息,显示结果比较简洁。在调试时,可以将Log打印等级设置为debug级别(等级4),这时可以看到更丰富的调试信息,以便定位问题。Log打印等级的设置如下:
![](https://epubservercos.yuewen.com/D95702/23950066309696006/epubprivate/OEBPS/Images/43149-00-52-3.jpg?sign=1738952194-lzb13zQIbvOOoJ7snqkxEi7YyrcysMIQ-0-b421cbee17b1f28073065199ce10a0c7)