使用segger自带的工具jlink RTT viewer工具实现串口打印功能:
首先从Jlink官网上下载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__)
(相关代码下载链接http://download.segger.com/J-Link/RTT/RTT_Implementation_140925.zip)
之后可以使用 printf / printfinfor(X,...) 打印调试信息,在JLINK安装目录中打开J-Link RTT Viewer,就可以看到调试信息,如下图;
JLINK RTT viewer 输入:
首先在程序中添加SEGGER_RTT_Read(0,rtt_buf,sizeof(rtt_buf));
其次在J-Link RTT Viewer控制台的Input里面选择Sending/Send on Enter,然后End of Line选择None
这样就可以通过下方输入框输入信息,按Enter发送