在调试代码的时候,最常用的就是使用printf函数来输出一些打印信息,提示自己代码的执行情况。
如果你的UART串口不够用,还要用printf,此时该怎么办?
解决方法:使用SWO/SWV。
-
SWO:Serial Wire Output,串行线输出
-
SWD:Serial Wire Viewer,串行线查看器
一、常见printf输出
- 1.UART打印
- 3.IAR EWARM终端输出
- 4.ST-LINK Utility SWV输出
二、UART映射printf
使用硬件UART串口映射,实现printf打印输出。
#include "stdio.h"
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
三、Keil MDK-ARM Viewer输出
- 针对2、3、4输出
- 添加代码:
#include "stdio.h" int fputc(int ch, FILE *f) { ITM_SendChar(ch); return ch; }
- 在Keil的Options中设置
四、IAR EWARM终端输出
- 1.Oprtins设置
- 2.SWO配置
五、ST-LINK Utility SWV输出
工具在线查看输出信息,需要上面配置代码,通过ST-Link链接即可。
文章整合自:csdn
编辑:ymf
-
uart
+关注
关注
22文章
1304浏览量
106099 -
函数
+关注
关注
3文章
4406浏览量
66831 -
Printf
+关注
关注
0文章
84浏览量
14628
发布评论请先 登录
printf重定向之后无法运行是怎么回事?
C语言的printf基本用法介绍
求助,关于C代码中的printf打印的疑问求解
printf函数在hbird SDK中的应用
e203仿真helloworld例程printf能在终端显示的原理
UIAbility组件基本用法说明
STM32N6570-DK:边缘人工智能开发的全能探索板

基于STM32的多种printf用法
评论