在調(diào)試代碼的時(shí)候,最常用的就是使用printf函數(shù)來(lái)輸出一些打印信息,提示自己代碼的執(zhí)行情況。
如果你的UART串口不夠用,還要用printf,此時(shí)該怎么辦?
解決方法:使用SWO/SWV。
-
SWO:Serial Wire Output,串行線輸出
-
SWD:Serial Wire Viewer,串行線查看器
一、常見(jiàn)printf輸出
- 1.UART打印
- 3.IAR EWARM終端輸出
- 4.ST-LINK Utility SWV輸出
二、UART映射printf
使用硬件UART串口映射,實(shí)現(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輸出
- 針對(duì)2、3、4輸出
- 添加代碼:
#include "stdio.h" int fputc(int ch, FILE *f) { ITM_SendChar(ch); return ch; }
- 在Keil的Options中設(shè)置
四、IAR EWARM終端輸出
- 1.Oprtins設(shè)置
- 2.SWO配置
五、ST-LINK Utility SWV輸出
工具在線查看輸出信息,需要上面配置代碼,通過(guò)ST-Link鏈接即可。
文章整合自:csdn
編輯:ymf
-
uart
+關(guān)注
關(guān)注
22文章
1251瀏覽量
102827 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4365瀏覽量
63823 -
Printf
+關(guān)注
關(guān)注
0文章
83瀏覽量
14005
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
harmony OS NEXT-Navagation基本用法
基于STM32設(shè)計(jì)的智能魚(yú)缸

STM32CubeMX的菜單介紹

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

stm32與Arduino的比較
Linux lsof命令的基本用法

stm32g與stm32h的區(qū)別
還不會(huì)嗎?三分鐘讓你速通Printf~

請(qǐng)問(wèn)est_printf為什么要使用堆棧空間?
鴻蒙Ability Kit(程序框架服務(wù))【UIAbility組件基本用法】

STM32F1HAL TIM2定時(shí)printf打印出現(xiàn)丟數(shù)值的原因?
STM32CubeIDE printf浮點(diǎn)數(shù),浮點(diǎn)數(shù)丟失數(shù)值的原因?
STM32CubeIde生成的工程,使用printf函數(shù)沒(méi)有調(diào)用_write和__io_putchar函數(shù),為什么?
【GD32F470紫藤派開(kāi)發(fā)板使用手冊(cè)】第九講 USART-printf打印實(shí)驗(yàn)

評(píng)論