03.06 單片機程序怎麼在電腦上調試?用什麼軟件好?

林家飛


單片機可以實現在線調試程序,通過軟件設置斷點,進行單步調試,這樣可以看到單片機是如何一步步執行程序的,從而快速找到問題,解決問題。以Keil和IAR為例介紹一下單片機的在線調試。

1.keil

的在線調試功能

以STM32單片機為例,所需要的軟件為Keil MDK,仿真工具為J-link,當程序編寫完成後,編譯通過,通過J-link仿真工具連接電腦和單片機板子,一定要安裝好J-link的驅動,在Debug界面選擇J-Link,並正確設置Setting界面的下的器件型號,如下圖所示。

設置好後,點擊工具欄的Debug按鈕,就進入在線調試模式了,這時候會出現調試工具欄,如下圖所示。

在懷疑有問題的地方設置斷點後,運行單步調試,單片機就可以一步步的執行了,在watch窗口可以選擇查看單片機的GPIO等寄存器,實時瞭解各端口和變量的變化情況。

2.IAR

的在線調試功能

以STM8單片機為例,以IAR for STM8為例,工具為ST-Link,正確安裝好ST-Link的驅動,程序編譯通過後,執行Debug and download按鈕可以開啟在線仿真模式,如下圖所示。

在有問題的地方設置斷點,執行全速運行後,會在斷點處停下,可以執行單步調試功能進入函數,再一步步執行。

這樣也可以很容易的找到程序bug。

3.使用串口打印進行調試

如果單片機不支持在線仿真功能,可以通過串口打印的形式輸出調試信息。首先要把串口打印程序調試通,在有問題的地方通過給變量設置不同的值然後打印,這樣也可以很直觀的判斷程序的運行情況。所需要的工具為USB/TTL。

由於篇幅有限,無法詳細描述,大家可以根據以上信息搜具體的教程。

以上就是這個問題的回答,感謝留言、評論、轉發。

更多精彩內容請關注本頭條號:玩轉嵌入式。感謝大家。


玩轉嵌入式


單片機程序常用的幾種調試方法,這些調試方法都需要結合電腦上位機,以下我羅列一些調試方法:

1,串口調試助手。在沒有仿真器或者沒有單片機廠商仿真上位機時候最適合,單片機需要打開串口,然後調用內部庫printf()函數,將調試信息通過串口打印出來。

2,仿真器+廠商仿真上位機。上位機仿真一般可以打斷電,運行程序,查變量。進而分析單片機程序運行機制。

3,Proteus仿真軟件。Proteus裡面有許多單片機和外圍供你學習編程仿真使用。

4,Visual c++6.0編譯軟件。一般單片機程序在VC++都是可以跑的,不過這款軟件他沒有單片機中的IO管腳,但可以用printf來代替IO管腳。

以上答覆謝謝!


小武哥編程


KEIL C. 最好用串口當做調試數據通道,電腦上串口助手或自編軟件。仿真那些看著高大上,其實不實用,因為單片機程序都很短,且都與硬件接口打交道,仿真真不了。


散居獵人


用KEIL編程,在需要觀察數據的地方用串口發送數據。觀察是否符你的邏輯需要。不過有些快速連續過程中間不能插入串口發送指令,否則過程被中斷。那麼就將數據存入數組,過程結束後再輸出。


外匯策略聊


當然是mdk了,在線燒錄直接仿真打斷點看參數,很方便的上手還快


分享到:


相關文章: