單片機可以實現(xiàn)在線調(diào)試程序,通過軟件設(shè)置斷點,進行單步調(diào)試,這樣可以看到單片機是如何一步步執(zhí)行程序的,從而快速找到問題,解決問題。以Keil和IAR為例介紹一下單片機的在線調(diào)試。
1.keil
的在線調(diào)試功能以
設(shè)置好后,點擊工具欄的Debug按鈕,就進入在線調(diào)試模式了,這時候會出現(xiàn)調(diào)試工具欄,如下圖所示。
在懷疑有問題的地方設(shè)置斷點后,運行單步調(diào)試,單片機就可以一步步的執(zhí)行了,在watch窗口可以選擇查看單片機的GPIO等寄存器,實時了解各端口和變量的變化情況。
2.IAR
的在線調(diào)試功能以STM8單片機為例,以IARforSTM8為例,工具為ST-Link,正確安裝好ST-Link的驅(qū)動,程序編譯通過后,執(zhí)行Debuganddownload按鈕可以開啟在線仿真模式,如下圖所示。
在有問題的地方設(shè)置斷點,執(zhí)行全速運行后,會在斷點處停下,可以執(zhí)行單步調(diào)試功能進入函數(shù),再一步步執(zhí)行。
這樣也可以很容易的找到程序bug。
3.使用串口打印進行調(diào)試
如果單片機不支持在線仿真功能,可以通過串口打印的形式輸出調(diào)試信息。首先要把串口打印程序調(diào)試通,在有問題的地方通過給變量設(shè)置不同的值然后打印,這樣也可以很直觀的判斷程序的運行情況。
由于篇幅有限,無法詳細描述,大家可以根據(jù)以上信息搜具體的教程。