21天入门低功耗蓝牙5.x开发
上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所示。

图1-58

图1-59

(2)串口调试助手的默认波特率为115200,打印窗口如图1-60所示。

图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模块:

然后根据需要,通过下面的语句来选择串口打印方式、RTT打印方式。

Log打印有不同的等级,在正常使用时可以将等级设置为info等级(等级3),这时只打印必要的状态信息,显示结果比较简洁。在调试时,可以将Log打印等级设置为debug级别(等级4),这时可以看到更丰富的调试信息,以便定位问题。Log打印等级的设置如下: