在調試代碼的時候,最常用的就是使用printf函數來輸出一些打印信息,提示自己代碼的執(zhí)行情況。
如果你的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串口映射,實現(xiàn)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文章
1286瀏覽量
105496 -
函數
+關注
關注
3文章
4400瀏覽量
66345 -
Printf
+關注
關注
0文章
84瀏覽量
14527
發(fā)布評論請先 登錄
STM32N6570-DK:邊緣人工智能開發(fā)的全能探索板

harmony OS NEXT-Navagation基本用法
STM32G474利用高精度HRTIM怎么捕獲外部波形計算波形頻率?
基于STM32設計的智能魚缸

STM32CubeMX的菜單介紹

stdio.h實現(xiàn)了printf函數?
51單片機中為什么很少出現(xiàn)printf的身影

stm32與Arduino的比較
常用SQL函數及其用法
正點原子的stm32開發(fā)板能用stlink嗎
Linux lsof命令的基本用法

評論