作者 |strongerHuang
微信公眾號(hào) | 嵌入式專欄
單片機(jī)開發(fā)中,打印輸出比較常見,也比較重要,今天就為大家分享一下常見的打印輸出內(nèi)容以及區(qū)別。
1寫在前面
在MCU項(xiàng)目中,printf主要用于打印輸出一些調(diào)試信息。比如:程序執(zhí)行出錯(cuò),輸出相關(guān)錯(cuò)誤提示信息。
做的好的項(xiàng)目,會(huì)通過打印信息生成或保存日志信息,
2printf輸出方式
本教程主要是針對(duì)MCU的printf打印輸出,常見的方式:
1.UART打印輸出
2.仿真打印輸出
3.SWO打印輸出
4.JLink-RTT打印輸出
除仿真之外,其它三種都是基于MCU硬件打印輸出。
從打印效率來說:UART 《 SWO 《 JLink-RTT。
每一種printf打印輸出方式應(yīng)用場(chǎng)景不同,也各有各的特點(diǎn)。
3實(shí)驗(yàn)現(xiàn)象
先讓大家從實(shí)驗(yàn)現(xiàn)象了解一下printf的內(nèi)容,后面文章講述具體的配置。
3.1 UART打印輸出
這種printf是最常見的使用UART串口輸出方式,需要占用一個(gè)硬件UART串口。
3.2 仿真打印輸出
只在集成開發(fā)環(huán)境中模擬printf仿真輸出,不需要連接開發(fā)板(硬件MCU)即可實(shí)現(xiàn)。
3.3 SWO打印輸出
SWO:Serial Wire Output,串行線輸出
SWD:Serial Wire Debug,串行線調(diào)試
SWV:Serial Wire Viewer,串行線查看器
SWO輸出,需要多一根SWO(引腳)線,同時(shí)需要借助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軟、硬件工具及其它說明
該教程使用的軟件及工具有點(diǎn)多,默認(rèn)大家已經(jīng)安裝并掌握使用方法。
4.1 軟件工具
1.STM32CubeMX
請(qǐng)參看:【專欄】STM32CubeMX系列教程
2.Keil MDK-ARM
請(qǐng)參看:【專欄】Keil MDK-ARM系列教程
3.IAR EWARM
請(qǐng)參看:【專欄】IAR系列教程
4.STM32 ST-LINK Utility
請(qǐng)參看:【專欄】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電腦,因?yàn)镸DK-ARM只支持WIndows系統(tǒng)。
4.3 其它說明
1.源代碼工程下載
為方便大家學(xué)習(xí),本系列教程將提供對(duì)應(yīng)源代碼工程,供大家下載。公眾號(hào)后臺(tái)回復(fù)關(guān)鍵字“printf”獲取。
2.關(guān)于仿真輸出
現(xiàn)在開發(fā)板很便宜(相比以前),而且仿真和實(shí)際可能存在差異,故我不推薦大家軟件仿真。
編輯:jq
-
單片機(jī)
+關(guān)注
關(guān)注
6043文章
44621瀏覽量
638618 -
mcu
+關(guān)注
關(guān)注
146文章
17324瀏覽量
352658 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7145瀏覽量
89585 -
uart
+關(guān)注
關(guān)注
22文章
1243瀏覽量
101774
原文標(biāo)題:?jiǎn)纹瑱C(jī)常見的打印輸出方式及區(qū)別
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
rca輸出和平衡輸出有什么區(qū)別
《DNK210使用指南 -CanMV版 V1.0》第九章 打印輸出實(shí)驗(yàn)
單片機(jī)io口怎么配置成輸出口
單片機(jī)io口輸出電流多大
寄存器的輸入輸出方式
基于STM32單片機(jī)的簡(jiǎn)易波形發(fā)生器設(shè)計(jì)
![基于STM32<b class='flag-5'>單片機(jī)</b>的簡(jiǎn)易波形發(fā)生器設(shè)計(jì)](https://file1.elecfans.com/web2/M00/F4/66/wKgaomZ8zDSAaavoAAAQ4fwuVvo033.jpg)
PLC的輸出方式有哪些
單片機(jī)和工控機(jī)區(qū)別是什么
PLC與單片機(jī)的區(qū)別是什么
聊聊幾種常見的單片機(jī)通信方式
![聊聊幾種<b class='flag-5'>常見</b>的<b class='flag-5'>單片機(jī)</b>通信<b class='flag-5'>方式</b>](https://file1.elecfans.com/web2/M00/E7/EA/wKgZomZNdIaAUh5NAAAntfGa1Eo793.png)
STM32單片機(jī)有哪幾種常見的開發(fā)環(huán)境?
![STM32<b class='flag-5'>單片機(jī)</b>有哪幾種<b class='flag-5'>常見</b>的開發(fā)環(huán)境?](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
評(píng)論