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