C語(yǔ)言使用Printf實(shí)現(xiàn)串口打印斩箫,方便追蹤調(diào)試程序

姓名:楊虎成

學(xué)號(hào):16020311003

轉(zhuǎn)載自:https://kuaibao.qq.com/s/20171208A0T9AV00?,有刪節(jié)

【嵌牛導(dǎo)讀】:在學(xué)習(xí)單片機(jī)的過(guò)程中,學(xué)會(huì)使用仿真器校焦,用仿真器設(shè)置斷點(diǎn)赊抖、單步調(diào)試是一種非惩车梗快速和有效的查找問(wèn)題的方法寨典,但是手邊沒(méi)有仿真器、沒(méi)有預(yù)留仿真接口房匆,要查看變量的變化該怎么辦耸成?

【嵌牛鼻子】:仿真器、Data_Send(pllmull)浴鸿、Printf()井氢、寄存器、keil

【嵌牛提問(wèn)】:怎樣用C語(yǔ)言使用Printf實(shí)現(xiàn)串口打釉懒础花竞?

【嵌牛正文】:在學(xué)習(xí)單片機(jī)的過(guò)程中,學(xué)會(huì)使用仿真器掸哑,用仿真器設(shè)置斷點(diǎn)约急、單步調(diào)試是一種非常快速和有效的查找問(wèn)題的方法苗分,但是手邊沒(méi)有仿真器厌蔽、沒(méi)有預(yù)留仿真接口,要查看變量的變化該怎么辦摔癣?這時(shí)候也是有辦法的奴饮,通常的做法,把串口引出來(lái)择浊,把串口寄存器配置好戴卜,通過(guò)RS232或者RS485來(lái)查看變量的狀態(tài)和程序的運(yùn)行方法,這時(shí)候只需要將數(shù)據(jù)發(fā)送函數(shù)添加到需要查看變量的下發(fā)即可琢岩,程序執(zhí)行數(shù)據(jù)發(fā)送函數(shù)就可以將變量的值發(fā)送到調(diào)試助手中投剥,供我們查看。如下所示粘捎,就可以通過(guò)Data_Send(pllmull)來(lái)查看pllmull的值薇缅。

圖片發(fā)自簡(jiǎn)書App

除此之外,還有一種非常簡(jiǎn)便的方法攒磨,就是使用Printf()函數(shù)泳桦,這個(gè)函數(shù)我們都不陌生。在C語(yǔ)言的第一堂課娩缰,我們都學(xué)過(guò)“Hello world”這個(gè)程序灸撰,這個(gè)程序就是通過(guò)Printf()函數(shù)來(lái)實(shí)現(xiàn)的。再來(lái)懷舊一下:

圖片發(fā)自簡(jiǎn)書App

使用單片機(jī)同樣可以使用printf()函數(shù),下面來(lái)介紹使用方法浮毯。

1. 添加頭文件支持

printf()函數(shù)位于“stdio.h”文件中完疫,所以第一步就是要添加該頭文件;

2. 添加重定向函數(shù)

需要添加的重定向函數(shù)如下:

圖片發(fā)自簡(jiǎn)書App

重定向函數(shù)寫法固定债蓝,但是根據(jù)單片機(jī)不同壳鹤、串口號(hào)不同,需要修改饰迹,以上函數(shù)使用的是片上資源USART1芳誓。之所以需要重定向是因?yàn)閜rintf()是格式化輸出函數(shù),可以按規(guī)定格式向標(biāo)準(zhǔn)設(shè)備輸出打印信息啊鸭,但是單片機(jī)并不是一個(gè)標(biāo)準(zhǔn)的輸出設(shè)備锹淌,所以在使用的時(shí)候需要借助重定向,將printf()重定向至UART中赠制。所以上面代碼的作用就是將重定向指向UART赂摆。

3. 配置串口寄存器

這一步就是配置串口通信的參數(shù),所涉及的參數(shù)如波特率钟些、數(shù)據(jù)長(zhǎng)度烟号、停止位、校驗(yàn)位等厘唾,這一塊就是純單片機(jī)的配置方式褥符,大家可以參考下面這篇文章:

4. keil的設(shè)置

最后一步,需要對(duì)keil做一下設(shè)置抚垃,

圖片發(fā)自簡(jiǎn)書App

在Target標(biāo)簽中喷楣,勾選USE MicroLIB選項(xiàng).

通過(guò)以上三部就可以實(shí)現(xiàn)單片機(jī)的串口打印了。效果如下:

作者:大周公子

鏈接:http://www.reibang.com/p/5fa970b1dffd

來(lái)源:簡(jiǎn)書

著作權(quán)歸作者所有鹤树。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)铣焊,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末罕伯,一起剝皮案震驚了整個(gè)濱河市曲伊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌追他,老刑警劉巖坟募,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異邑狸,居然都是意外死亡懈糯,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門单雾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赚哗,“玉大人她紫,你說(shuō)我怎么就攤上這事∮齑ⅲ” “怎么了贿讹?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)够掠。 經(jīng)常有香客問(wèn)我民褂,道長(zhǎng),這世上最難降的妖魔是什么祖屏? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任助赞,我火速辦了婚禮,結(jié)果婚禮上袁勺,老公的妹妹穿的比我還像新娘。我一直安慰自己畜普,他們只是感情好期丰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著吃挑,像睡著了一般钝荡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舶衬,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天埠通,我揣著相機(jī)與錄音,去河邊找鬼逛犹。 笑死端辱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的虽画。 我是一名探鬼主播舞蔽,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼码撰!你這毒婦竟也來(lái)了渗柿?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤脖岛,失蹤者是張志新(化名)和其女友劉穎朵栖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體柴梆,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陨溅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了轩性。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片声登。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狠鸳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悯嗓,到底是詐尸還是另有隱情件舵,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布脯厨,位于F島的核電站铅祸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏合武。R本人自食惡果不足惜临梗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稼跳。 院中可真熱鬧盟庞,春花似錦、人聲如沸汤善。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)红淡。三九已至不狮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間在旱,已是汗流浹背摇零。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留桶蝎,地道東北人驻仅。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像俊嗽,于是被迫代替她去往敵國(guó)和親雾家。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 姓名:周崇杰 學(xué)號(hào):16040120059 專業(yè):機(jī)械設(shè)計(jì)制造及其自動(dòng)化 轉(zhuǎn)載自:http://blog.csd...
    CJbaby閱讀 1,466評(píng)論 0 6
  • 大學(xué)的時(shí)候绍豁,幫朋友寫的操作系統(tǒng)調(diào)研的作業(yè)芯咧,最近整理過(guò)去的文檔時(shí)候偶然發(fā)現(xiàn),遂作為博客發(fā)出來(lái)竹揍。 從串口驅(qū)動(dòng)到Linu...
    free_will閱讀 7,389評(píng)論 7 59
  • 姓名:周崇杰 學(xué)號(hào):16140120059 專業(yè):機(jī)械設(shè)計(jì)制造及其自動(dòng)化 轉(zhuǎn)載自:http://blog.csd...
    CJbaby閱讀 3,491評(píng)論 0 3
  • 這一刻芬位,我多愿做一個(gè)白癡的人无拗,沒(méi)有思想,沒(méi)有雜念昧碉,像門前的那口水翁英染,裝滿一缸涼水揽惹,清清澈澈。也是這一刻四康,思想被支配...
    阿土127閱讀 174評(píng)論 0 0
  • 反射技術(shù)的運(yùn)用搪搏、工場(chǎng)設(shè)計(jì)模式的運(yùn)用、Config配置文件的讀取項(xiàng)目結(jié)構(gòu): ip=10.111.14.43port=...
    lovePython閱讀 6,073評(píng)論 0 1