在調試代碼的時候,最常用的就是使用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串口映射,實現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文章
1219瀏覽量
101120 -
函數
+關注
關注
3文章
4284瀏覽量
62325 -
Printf
+關注
關注
0文章
81瀏覽量
13608
發(fā)布評論請先 登錄
相關推薦
評論