SEGGER_RTT这个软件包可以替代串口进行输出,特别是在引脚有限的单片机上,是一个不错的选择。画板时,如果没有引出调试串口,在调试期间,可以使用SEGGER_RTT。
使用segger自带的工具jlink RTT viewer工具实现串口打印功能,RTT 是real time transmit (实时传输)的意思,是Segger公司推出的,是配合J-LINK使用的一种调试手段,其框图如下:
MCU通过J-LINK,凭借RTT就可往电脑打印调试信息,电脑端这边用的是J-LINK的小软件RTT Viewer。
这样的好处是可以把MCU的串口资源释放出来,特别对于一些串口资源不那么充足的MCU来说,就可以省出一个串口去与其他外围芯片进行串口通讯。
下载:
首先从Jlink官网(www.segger.com)上下载RTT代码,然后将这四个文件添加到自己工程中去,并且在主程序工程中添加SEGGER_RTT.h文件;在添加头文件的主程序里面添加如下两个宏定义,实现多参数打印功能:
#define printf(...) SEGGER_RTT_printf(0, __VA_ARGS__)
#define printfinfor(X,...) SEGGER_RTT_printf(0, "file: "__FILE__",function: %s"", Line: %d:"X"\r\n",__FUNCTION__,__LINE__,##__VA_ARGS__)
使用方法:
双击打开JLinkRTTViewer.exe
点击OK之后,弹出如下弹框,就可以看到打印信息;
相关初始化代码,要在程序中放开;
SEGGER_RTT_Init();
SEGGER_RTT_printf(0,"SEEGRE_RTT_PRINTF TEST\r\n");