資料介紹
作為一名嵌入式軟件系統工程師,掌握住高效快捷的調試方法,往往會在實際的項目開發中達到事半功倍的效果。今天就跟大家講一講我們在項目開發過程中,那些被我們忽視的調試法寶吧。
通過串口打印實時打印出MCU的運行狀態,想必大家都有用過,可你是不是仍然停留在串口打印字符函數(比如說函數名是StringUartSend)都需要自己寫的時代??v然我承認你C語言功底很深厚,但是其實你已經OUT了?,F在是講究效率的時代,時間就是金錢,如果我們能夠充分的利用C語言函數庫,會讓很多代碼的編寫變的很簡單。
比如說,現在我們需要通過串口輸出1個3位的10進制整數,變量名就叫A。按照之前的思路,先需要把A的個、十、百位等分別提取出來,然后轉換成ASCII碼存儲到數組或指針里,最后通過StringUartSend函數把結果輸出來。這時你也許會說,這就已經滿足你的要求了,可是如果你要查看的數據是小數呢?轉換起來是不是就浪費了很多運行空間。那么該怎么辦呢?沒事,printf函數可以輕松幫我們搞定。
Printf函數是一個格式化輸出函數,《C程序設計高級教程》一書中有這樣的描述:printf函數的作用是按照指定的格式將程序的數據輸出到終端上,其一般形式為:
printf ( 格式控制,輸出列表 );
其中格式控制和輸出列表為printf函數的參數。更多關于該函數的詳細描述,請讀者自行查閱1.12.3 格式化輸出一節。
這時我們可能就會想:如果能用它直接向PC上的串口軟件打印信息的話,不是件很酷的事情么,再也不用自己寫格式轉換函數了。但它是C函數庫中的函數,如何知道我們的底層調用了串口發送函數呢?這就用到了重定向技術。重定向的代碼如程序清單 1所示。
程序清單 1 重定向代碼
int fputc(int ch, FILE *f)
{
CharUartSend((char)ch); /* 串口發送一個字符函數 */
return 1; /* 發送完成返回1 */
}
在我們完成串口的初始化工作并編寫好一個字符發送函數CharUartSend之后,就可以把程序清單 1所示的代碼添加到你的工程里了。并在文件起始處添加stdio.h文件,如下所示。
#include
重定向的代碼是由fputc函數來執行的。要注意的是,不能使用其他的名字,因為“fputc”是編譯器預定義的用于字符輸出的函數名。fputc()實際上只是一個封皮,它直接調用CharUartSend 函數來做真實的工作。
加入上面的代碼之后,再重新編譯一下你的代碼,在主函數中隨便寫一個打印信息,是不是在串口助手上面有意外的驚喜呢?
通過上文的描述,你已經對使用printf在串口助手打印信息有所了解把,但是在調試過程中,還需要配置串口資源,無疑又加大了產品開發的周期。那么有沒有一種方法,可以不使用MCU的外設資源,又可以查看調試信息呢?
文章來源:
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 德飛萊串口調試軟件下載 27次下載
- STM32使用串口重定向系統printf函數輸出時出現一初始化或使用printf函數系統卡死的原因及解決辦法
- printf通過串口輸出在MCU上的實現
- 51單片機串口通信調試printf函數重定向輸出打印
- 串口調試軟件免費下載 15次下載
- 串口調試助手V2.2軟件程序下載 48次下載
- 串口調試助手V2.80軟件下載 103次下載
- 總結:這些Keil 軟件仿真的串口調試技巧,你都記熟了沒有?資料下載
- STM32串口DMA容易忽視的問題資料下載
- 淺談STM32單片機學習---PWM輸出資料下載
- ADS工程在IAR EWARM 5.3上移植printf的串口實現代碼免費下載 0次下載
- 如何在單片機上使用printf函數詳細使用資料和程序免費下載
- Keil C51重定向printf到串口的程序免費下載
- 串口調試工具comdebug應用程序免費下載 82次下載
- STM8S串口打印調試信息(不使用printf) 51次下載
- 解決printf無法打印輸出的問題 3.4k次閱讀
- 什么是基本輸入輸出printf、scanf ... 1.9k次閱讀
- 基于單片機的串口調試打印 4k次閱讀
- 基于QT的串口調試工具設計 4.5k次閱讀
- 常規的串口調試工具 9.8k次閱讀
- C語言printf格式化輸出的實例詳細資料說明 5.8k次閱讀
- 如何使用單片機中printf 3.6k次閱讀
- 基于STM8L15x單片機的串口printf輸出程序分享 6.1k次閱讀
- STM32:如何寫出多串口共用printf函數語句? 1.6w次閱讀
- 實現重定向printf()和scanf() 函數案例分析 10k次閱讀
- 什么是串口通信?基于STM32的printf打印輸出 1.4w次閱讀
- STM32F103程序調用printf打印串口數據 1.3w次閱讀
- 基于STM32中調試與串口之間的信息傳輸 6.8k次閱讀
- 基于STM32的printf串口數據輸出 2.1w次閱讀
- stm32串口通信用printf發送數據配置 6.3k次閱讀
下載排行
本周
- 1新一代網絡可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2冷柜-電氣控制系統講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數據手冊
- 2.33 MB | 次下載 | 免費
- 4MDD品牌三極管S9012數據手冊
- 2.62 MB | 次下載 | 免費
- 5LAT1218 如何選擇和設置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 8MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協議電壓誘騙控制器IC技術手冊
- 1.81 MB | 1次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論