1、安装包
如果安装过jlink,可以用evething来搜索“SEGGER_RTT”,选择“压缩文件”。
压缩文件中的RTT文件夹加入到项目当中
2、项目修改
3、使用
3.1 普通使用
SEGGER_RTT_printf(0, "Terminal 0 print:%d\r\n", i++);
3.2 多端口发送
如果需要使用多个端口进行发送,
使用SEGGER_RTT_SetTerminal函数设置端口后,再使用SEGGER_RTT_WriteString 或者 SEGGER_RTT_printf进行打印输出;
参考如下:
SEGGER_RTT_SetTerminal(1);
SEGGER_RTT_WriteString(0,
RTT_CTRL_RESET"Red: " \
RTT_CTRL_TEXT_RED"This text is red. " \
RTT_CTRL_TEXT_BLACK"" \
RTT_CTRL_BG_BRIGHT_GREEN"This background is green. " \
RTT_CTRL_RESET"Normal text again.\r\n");
SEGGER_RTT_SetTerminal(2);
SEGGER_RTT_WriteString(0, RTT_CTRL_TEXT_BRIGHT_GREEN"KEY_DOWN_K2, ArmFly Real-Time-Terminal Sample\r\n");
ps:RTT_CTRL_TEXT_BRIGHT_GREEN为设置颜色值,在SEGGER_RTT.h中;
SEGGER_RTT_SetTerminal(3);
SEGGER_RTT_printf(0, "Terminal 3 print:%d\r\n", i++);
3.3 端口接收
示例:接受到 “1” 进行打印“HAHA\r\n”;
/* 做一个简单的回环功能 */
if (SEGGER_RTT_HasKey())
{
GetKey = SEGGER_RTT_GetKey();
SEGGER_RTT_SetTerminal(0);
SEGGER_RTT_printf(0, "SEGGER_RTT_GetKey = 0x%2x\r\n", GetKey);
if(GetKey == 0x31)
{
SEGGER_RTT_printf(0, "HAHA\r\n", GetKey);
}
}
4. RTT软件设置
选择芯片,其他参考图片进行设置
演示效果:
参考:【嵌入式小技巧】STM32 实现 SEGGER RTT 打印(超详细)_HinGwenWoong的博客-优快云博客
[专题教程] 【专题教程第5期】工程调试利器RTT实时数据传输组件,替代串口调试,速度飞快,可以在中断和多任务中随意调用