拿到設計的電路板后,一般會先下載單片機程序驗證一下硬件功能是否正常,但有時也會出現程序不運行的情況,本文我們就介紹一下針對硬件測試時程序不運行的排查思路。
一:確定軟件還是硬件問題?
首先進行軟硬件交叉對比測試;將程序下載到其他板子上(最好是可確定硬件無問題的開發板上),驗證程序是否有問題?
若程序在開發板上可正常運行,基本可確定是硬件的問題,可繼續排查硬件原因。
若程序在開發板上也不能正常運行:先使用開發板調試出至少可正常運行的程序
二:單片機可運行的最小條件
針對常用單片機,正常運行的條件至少包括:電源、晶振、復位三部分;針對例如STM32單片機還涉及到Boot模式選擇;
發現單片機不工作時,使用排除法,對上面的條件進行逐一排除即可。
01
檢查VCC電壓
使用萬用表測量單片機VCC的電壓是否正常、穩定;電壓范圍是否正常:若電壓不在單片機的正常工作范圍內,單片機肯定就不能正常工作。此時需要檢查電源部分的電路,排查電源輸出電壓不正確的原因;電壓是否穩定:若電壓不穩定,波動較大也可能導致單片機不能正常工作; 02
檢查晶振電路
振蕩源作為單片機正常運行的“心臟脈搏”,是至關重要的。震蕩源存在問題肯定單片機也不能正常工作;
若使用的內部晶振:檢查程序中關于內部晶振的配置是否正確;
若使用外部晶振:使用示波器測量晶振引腳的波形,觀察晶振是否正常起振;(關于晶振部分的電路歡迎關注本公眾號關于晶振詳解的文章)
03
檢查復位電路
用示波器測量復位電路有沒有給單片機提供上電復位信號?
高電平復位or低電平復位是否符合單片機的要求?
04
檢查Boot設置
針對STM32單片機,程序運行的條件還會涉及到Boot引腳的選擇。如下圖所示:
三:總結
單片機不能正常工作的原因還有很多,以上僅僅列出了比較方便排查并且比較重要的幾個因素。歡迎在留言區留言討論。
審核編輯 :李倩
-
單片機
+關注
關注
6035文章
44554瀏覽量
634653 -
晶振
+關注
關注
34文章
2859瀏覽量
68005
原文標題:下載程序后,單片機不工作?
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論