作者 |strongerHuang
微信公眾號 | 嵌入式專欄
單片機(jī)開發(fā)中,打印輸出比較常見,也比較重要,今天就為大家分享一下常見的打印輸出內(nèi)容以及區(qū)別。
1寫在前面
在MCU項目中,printf主要用于打印輸出一些調(diào)試信息。比如:程序執(zhí)行出錯,輸出相關(guān)錯誤提示信息。
做的好的項目,會通過打印信息生成或保存日志信息,
2printf輸出方式
本教程主要是針對MCU的printf打印輸出,常見的方式:
1.UART打印輸出
2.仿真打印輸出
3.SWO打印輸出
4.JLink-RTT打印輸出
除仿真之外,其它三種都是基于MCU硬件打印輸出。
從打印效率來說:UART 《 SWO 《 JLink-RTT。
每一種printf打印輸出方式應(yīng)用場景不同,也各有各的特點。
3實驗現(xiàn)象
先讓大家從實驗現(xiàn)象了解一下printf的內(nèi)容,后面文章講述具體的配置。
3.1 UART打印輸出
這種printf是最常見的使用UART串口輸出方式,需要占用一個硬件UART串口。
3.2 仿真打印輸出
只在集成開發(fā)環(huán)境中模擬printf仿真輸出,不需要連接開發(fā)板(硬件MCU)即可實現(xiàn)。
3.3 SWO打印輸出
SWO:Serial Wire Output,串行線輸出
SWD:Serial Wire Debug,串行線調(diào)試
SWV:Serial Wire Viewer,串行線查看器
SWO輸出,需要多一根SWO(引腳)線,同時需要借助SWV(查看器)查看數(shù)據(jù),分享4種方法:
·基于Keil的『Debug(printf)Viewer』
·基于IAR的『Terminal IO』
·基于ST-LINK Utility的『Serial Wire Viewer』
·基于J-Link的『SWO Viewer』
1.基于Keil的『Debug(printf)Viewer』
2.基于IAR的『Terminal IO』
3.基于ST-LINK Utility的『Serial Wire Viewer』
4.基于J-Link的『SWO Viewer』
說明:前面2種可以分別基于ST-Link和J-link工具查看,第三種基于ST-Link查看,第四種基于J-link查看。
3.4 JLink-RTT打印輸出
這種方式不需要使用UART串口,也不需要額外SWO引腳,但需要在代碼中添加相關(guān)代碼。
4軟、硬件工具及其它說明
該教程使用的軟件及工具有點多,默認(rèn)大家已經(jīng)安裝并掌握使用方法。
4.1 軟件工具
1.STM32CubeMX
請參看:【專欄】STM32CubeMX系列教程
2.Keil MDK-ARM
請參看:【專欄】Keil MDK-ARM系列教程
3.IAR EWARM
請參看:【專欄】IAR系列教程
4.STM32 ST-LINK Utility
請參看:【專欄】ST-Link資料
5.J-Link / J-Trace
下載地址:
https://www.segger.com/downloads/jlink
4.2 硬件
1.MCU開發(fā)板
原則上Cortex-M3,M4都行,本教程基于STM32F0、F1、F4系列進(jìn)行講述。
2.下載調(diào)試器
ST-Link
J-Link
3.PC電腦
當(dāng)然推薦Windows電腦,因為MDK-ARM只支持WIndows系統(tǒng)。
4.3 其它說明
1.源代碼工程下載
為方便大家學(xué)習(xí),本系列教程將提供對應(yīng)源代碼工程,供大家下載。公眾號后臺回復(fù)關(guān)鍵字“printf”獲取。
2.關(guān)于仿真輸出
現(xiàn)在開發(fā)板很便宜(相比以前),而且仿真和實際可能存在差異,故我不推薦大家軟件仿真。
編輯:jq
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634635 -
mcu
+關(guān)注
關(guān)注
146文章
17123瀏覽量
350983 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7002瀏覽量
88941 -
uart
+關(guān)注
關(guān)注
22文章
1235瀏覽量
101354
原文標(biāo)題:單片機(jī)常見的打印輸出方式及區(qū)別
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論