單片機調試 - 如何簡單有效的插入和刪除調試語句
#ifdef __debug #define debug(format,...) printf("File: "__FILE__", Line: %05d-------->"format"/n", __LINE__, ##__VA_ARGS__) #else #define debug(format,...) #endif
說明:
1、編譯器支持不定參數的宏定義,‘ ## ‘的意思是,如果可變參數被忽略或為空,將使預處理器( preprocessor )去除掉它前面的那個逗號
2、編譯器內置宏:
__LINE__:在源代碼中插入當前源代碼行號;
__FILE__:在源文件中插入當前源文件名;
__DATE__:在源文件中插入當前的編譯日期
編譯器在進行源碼編譯的時候,會自動將這些宏替換為相應內容。
如下是IAR 提供的預置宏:
單片機調試 - 如何簡單有效的插入和刪除調試語句
相關推薦
單片機調試 - 如何簡單有效的插入和刪除調試語句
行號 file 有效 lin -1 源碼編譯 orm pro line #ifdef __debug #define debug(format,...) printf("File: "__FILE__", Line: %05d-------->
單片機C51數據類型和存儲器類型
單片機的數據類型及存儲類型單片機C51數據類型和存儲器類型在標準C語言中,存在著如下六種基本數據類型:1、char:字符型;2、short = short int:短整型3、int:整型4、long = long int:長整型5、float:單精度浮點型6、double:雙精度浮點型而面向51單片機的Kei
STMF103系列單片機無法調試和下載程序的原因及其解決
說明 並不是 調試 行操作 程序 驗證 依然 現象 需要 時間:2018/11月/15 經過實踐中發現,使用stm32cubeMX 自動生成的代碼,燒入單片機後第一次,斷電重啟後能夠運行。 但是,再次對其進行操作的時候,發現無法進行調試,也無法對其下載程序。 懷疑是硬件問題
51單片機模擬PWM調制控制實驗
占空比 代碼 時間 signed img 阻止 interrupt dig 重新 ———————————————————————————————————————————— PWM(脈沖寬度調制) 對模擬信號電平進行數字編碼的方法 - - - - - - - - -
單片機驅動為什麽要設置為低電平有效?
電源 高達 電子 它的 做到 led 耗電 必須 負載 問題:單片機的外圍電路設計及程序編寫大多是以低電平有效來驅動電路的? 回答:這是因為單片機的低電平時的灌電流一般比高電平時的拉電流要大。如一般的51 系列單片機的I/O 口可以輸出4mA 的拉電流或20mA 的灌電流;
單片機多任務調度
易懂 更新 這一 support display bit 狀況 fault timer 單片機多任務調度 mcu由於內部資源的限制,軟件設計有其特殊性,程序一般沒有復雜的算法以及數據結構,代碼量也不大, 通常不會使用OS (Operating System), 因
單片機特殊功能寄存器
5.5 一個 .com click 發生 sid http 相關 10個 計數器 從一個生活中的例程看起:一個水盆在水龍頭下,水龍沒關緊,水一滴滴地滴入盆中。水滴持續落下,盆的容量是有限的,過一段時間之後,水就會逐漸變滿。那麽單片機中的計數器有多大的容量呢?8031單片機中
單片機簡述
教程 http targe 學習 優先權 計算機 存儲 系統 講解 1.單片機可以做什麽? 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。小到電話,玩具,手機,各類刷卡機,電腦鍵盤,彩電,冰箱,空調,電磁爐,大到汽車,工業自動控制,機器人,導彈導
單片機串行口介紹
idt 數據傳輸 align 異步 復雜 width 波特率 字符 重裝 介紹 串行口是單片機與外界進行信息交換的工具,8051單片機的通信方式有兩種: 並行通信:數據的各位同時發送或接收。 串行通信:數據一位一位次序發送或接收。 串行通信
單片機引腳介紹
內部 特殊 集成 工作 需要 pro 情況 vss 復位 單片機的40個引腳可分為4類:電源、時鐘、控制和I/O引腳。 1. 電源: ⑴ VCC - 芯片電源,接+5V;
靜態數碼管——小白的單片機筆記
bit 顯示 實驗 main char 兩個 調試 nbsp err 數碼管按照接線方式分為:共陰和共陽。 對於實驗板的數碼管器工作過程如下: 單片機通過接口(在此為P2^2,P2^3,P2^,4)與138譯碼器通訊,譯碼器Y0接口使最後一個LED數碼管工作。 P0口發送數
動態數碼管——小白的單片機筆記
存儲 value *** 通訊 mqc com har sign logs 138譯碼器控制LED數碼管使能 138譯碼器的ABC接口接線: A=P2^2;B=P2^3;C=P2^4; 74H245與P0口通訊控制數碼管顯示內容。 ******************
單片機之自動標註
src images 標註 分享 -1 技術分享 mage png .cn 單片機之自動標註
51單片機PWM
定時器初始化 style 定時器 sbit cas define init span 比例 由定時器產生PWM信號,可手動按鍵調節PWM的占空比,按鍵由外部中斷實現 #include <reg51.h> #include <intrins.h&g
51單片機實現按鍵查詢並燈閃爍時間實驗
key ont -1 初始化 mage logs 實驗 mil .cn ———————————————————————————————————————————— 實現功能: 功能模塊: 初始化變量 主體功能(循環) 按鍵查詢 對應LED狀態及延時參數 改
(023) 關於51單片機的A5指令
image 文章 功能 加密方法 所有 log 一個 反匯編 png 可看見一篇講51單片機加密的文章這麽講: 【加密方法:在A5後加一個二字節或三字節操作碼,因為所有反匯編軟件都不會反匯編A5指令,造成正常程序反匯編亂套,執行程序無問題仿制者就不能改變你的源程序。】
單片機入門-矩陣鍵盤控制數碼管顯示
矩陣 right 控制 入門 i/o num .cn mar oid 任務簡述:通過按下4X4矩陣鍵盤實現數碼管對應顯示數字 實現方式:通過行列分接法,可以節省使用單片機的I/O口,掃描矩陣鍵盤是否有按下,判斷P2端口得到的值。 protues 硬件系統 單片機晶振復位電
51單片機實現矩陣鍵盤行掃描
order 方式 [] image 51單片機 char borde 矩陣鍵盤 結果 ———————————————————————————————————————————— 分類: 按結構原理分: 觸點式開關按鍵 無觸點開關按鍵 接入方式 獨立式
51單片機實現SMC1602液晶屏顯示實例
del 遍歷 思路 unsigned 初始化 移動 display -1 當前 ———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - -
51單片機實現頻率測量控制實驗
code 控制 void pan 時鐘 計數器 方法 接收 外部 ———————————————————————————————————————————— 頻率測量方法: 測頻法:測試限定時間內檢測脈沖的個數(1s) 測周法:采樣N個脈沖所使用的時間 —————