前言
通过RTT输出日志,可以不占额外的引脚和外设,速度非常快,几乎不影响程序的实时性。
参考官方介绍文档

安装J-Link驱动
官网下载地址,本文选择的是7.60版本,如果官网下载太慢,可以点击在CSDN下载

移植代码(以STM32为例)
在如下驱动安装路径有压缩包,解压如下图
C:\Program Files\SEGGER\JLink\Samples\RTT

在STM32工程目录创建SEGGER_RTT文件夹,并将上图的Config和RTT文件夹移入其中

在Keil中新建分组SEGGER_RTT,并将SEGGER_RTT/RTT中的.c文件全部加入其中

在Keil中将SEGGER_RTT/RTT和SEGGER_RTT/Config添加到头文件路径

使用接口
接口
#include "SEGGER_RTT.h"
int SEGGER_RTT_printf(unsigned BufferIndex, const char * sFormat, ...);
Demo
#include "rtthread.h"
#include "SEGGER_RTT.h"
int main(void)
{
while (1)
{
SEGGER_RTT_printf(0, "Hello world!\r\n");
rt_thread_delay(1000);
}
}
上位机显示Log
DAPLink和STLink请跳转到我的另一篇博客《通过DAPLink和STLink使用RTT输出日志》
SEGGER配套的上位机目前只能J-Link使用
安装驱动后,会生成一堆软件,打开JLinkRTTViewer.exe

选择好对应的芯片型号

连接成功后就会收到日志输出

有颜色的日志
如果想输出这种有颜色的日志,可以参考我的另一篇博文
《C语言 有颜色有等级的日志实现》




















