作者 |strongerHuang
微信公眾號 | 嵌入式專欄
單片機開發中,打印輸出比較常見,也比較重要,今天就為大家分享一下常見的打印輸出內容以及區別。
1寫在前面
在MCU項目中,printf主要用于打印輸出一些調試信息。比如:程序執行出錯,輸出相關錯誤提示信息。
做的好的項目,會通過打印信息生成或保存日志信息,
2printf輸出方式
本教程主要是針對MCU的printf打印輸出,常見的方式:
1.UART打印輸出
2.仿真打印輸出
3.SWO打印輸出
4.JLink-RTT打印輸出
除仿真之外,其它三種都是基于MCU硬件打印輸出。
從打印效率來說:UART 《 SWO 《 JLink-RTT。
每一種printf打印輸出方式應用場景不同,也各有各的特點。
3實驗現象
先讓大家從實驗現象了解一下printf的內容,后面文章講述具體的配置。
3.1 UART打印輸出
這種printf是最常見的使用UART串口輸出方式,需要占用一個硬件UART串口。
3.2 仿真打印輸出
只在集成開發環境中模擬printf仿真輸出,不需要連接開發板(硬件MCU)即可實現。
3.3 SWO打印輸出
SWO:Serial Wire Output,串行線輸出
SWD:Serial Wire Debug,串行線調試
SWV:Serial Wire Viewer,串行線查看器
SWO輸出,需要多一根SWO(引腳)線,同時需要借助SWV(查看器)查看數據,分享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引腳,但需要在代碼中添加相關代碼。
4軟、硬件工具及其它說明
該教程使用的軟件及工具有點多,默認大家已經安裝并掌握使用方法。
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開發板
原則上Cortex-M3,M4都行,本教程基于STM32F0、F1、F4系列進行講述。
2.下載調試器
ST-Link
J-Link
3.PC電腦
當然推薦Windows電腦,因為MDK-ARM只支持WIndows系統。
4.3 其它說明
1.源代碼工程下載
為方便大家學習,本系列教程將提供對應源代碼工程,供大家下載。公眾號后臺回復關鍵字“printf”獲取。
2.關于仿真輸出
現在開發板很便宜(相比以前),而且仿真和實際可能存在差異,故我不推薦大家軟件仿真。
編輯:jq
-
單片機
+關注
關注
6065文章
44940瀏覽量
647975 -
mcu
+關注
關注
146文章
17886瀏覽量
361607 -
數據
+關注
關注
8文章
7247瀏覽量
91296 -
uart
+關注
關注
22文章
1270瀏覽量
103430
原文標題:單片機常見的打印輸出方式及區別
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
單片機和伺服有什么區別
PLC和單片機到底有什么區別?

瑞薩Cortext-M85內核RA8系列單片機的串口輸出實現方法

評論