電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>那些被我們忽視的調(diào)試法寶:Printf串口輸出資料下載

那些被我們忽視的調(diào)試法寶:Printf串口輸出資料下載

2021-04-15 | pdf | 86.88KB | 次下載 | 3積分

資料介紹

作為一名嵌入式軟件系統(tǒng)工程師,掌握住高效快捷的調(diào)試方法,往往會(huì)在實(shí)際的項(xiàng)目開發(fā)中達(dá)到事半功倍的效果。今天就跟大家講一講我們?cè)陧?xiàng)目開發(fā)過程中,那些被我們忽視的調(diào)試法寶吧。 通過串口打印實(shí)時(shí)打印出MCU的運(yùn)行狀態(tài),想必大家都有用過,可你是不是仍然停留在串口打印字符函數(shù)(比如說函數(shù)名是StringUartSend)都需要自己寫的時(shí)代??v然我承認(rèn)你C語言功底很深厚,但是其實(shí)你已經(jīng)OUT了。現(xiàn)在是講究效率的時(shí)代,時(shí)間就是金錢,如果我們能夠充分的利用C語言函數(shù)庫,會(huì)讓很多代碼的編寫變的很簡單。 比如說,現(xiàn)在我們需要通過串口輸出1個(gè)3位的10進(jìn)制整數(shù),變量名就叫A。按照之前的思路,先需要把A的個(gè)、十、百位等分別提取出來,然后轉(zhuǎn)換成ASCII碼存儲(chǔ)到數(shù)組或指針里,最后通過StringUartSend函數(shù)把結(jié)果輸出來。這時(shí)你也許會(huì)說,這就已經(jīng)滿足你的要求了,可是如果你要查看的數(shù)據(jù)是小數(shù)呢?轉(zhuǎn)換起來是不是就浪費(fèi)了很多運(yùn)行空間。那么該怎么辦呢?沒事,printf函數(shù)可以輕松幫我們搞定。 Printf函數(shù)是一個(gè)格式化輸出函數(shù),《C程序設(shè)計(jì)高級(jí)教程》一書中有這樣的描述:printf函數(shù)的作用是按照指定的格式將程序的數(shù)據(jù)輸出到終端上,其一般形式為: printf ( 格式控制,輸出列表 ); 其中格式控制和輸出列表為printf函數(shù)的參數(shù)。更多關(guān)于該函數(shù)的詳細(xì)描述,請(qǐng)讀者自行查閱1.12.3 格式化輸出一節(jié)。 這時(shí)我們可能就會(huì)想:如果能用它直接向PC上的串口軟件打印信息的話,不是件很酷的事情么,再也不用自己寫格式轉(zhuǎn)換函數(shù)了。但它是C函數(shù)庫中的函數(shù),如何知道我們的底層調(diào)用了串口發(fā)送函數(shù)呢?這就用到了重定向技術(shù)。重定向的代碼如程序清單 1所示。 程序清單 1 重定向代碼 int fputc(int ch, FILE *f) { CharUartSend((char)ch); /* 串口發(fā)送一個(gè)字符函數(shù) */ return 1; /* 發(fā)送完成返回1 */ } 在我們完成串口的初始化工作并編寫好一個(gè)字符發(fā)送函數(shù)CharUartSend之后,就可以把程序清單 1所示的代碼添加到你的工程里了。并在文件起始處添加stdio.h文件,如下所示。 #include 重定向的代碼是由fputc函數(shù)來執(zhí)行的。要注意的是,不能使用其他的名字,因?yàn)椤癴putc”是編譯器預(yù)定義的用于字符輸出的函數(shù)名。fputc()實(shí)際上只是一個(gè)封皮,它直接調(diào)用CharUartSend 函數(shù)來做真實(shí)的工作。 加入上面的代碼之后,再重新編譯一下你的代碼,在主函數(shù)中隨便寫一個(gè)打印信息,是不是在串口助手上面有意外的驚喜呢? 通過上文的描述,你已經(jīng)對(duì)使用printf在串口助手打印信息有所了解把,但是在調(diào)試過程中,還需要配置串口資源,無疑又加大了產(chǎn)品開發(fā)的周期。那么有沒有一種方法,可以不使用MCU的外設(shè)資源,又可以查看調(diào)試信息呢? 文章來源: (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)