前言
通过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语言 有颜色有等级的日志实现》