單片機產(chǎn)品在工作的時候,上電后是正常工作的,但是工作了幾個小時后,偶爾會出現(xiàn)單片機重啟的現(xiàn)象。從描述可以判斷出,電路在大多數(shù)的時間里工作是正常的,但是偶爾會出現(xiàn)單片機重啟故障,而電源是穩(wěn)定的。所以可以判斷出硬件電路是正常的。那么問題可能是程序本身的問題或者是有干擾源。
1 可能存在干擾
可能有干擾源存在,而該干擾源可能不是有規(guī)律的干擾。單片機一般都具有復(fù)位引腳,要么高電平復(fù)位,要么低電平復(fù)位。比如STM32系列是低電平復(fù)位,51單片機是高電平復(fù)位。可以將單片機復(fù)位引腳飛線,使用示波器捕捉其引腳電平。再發(fā)生重啟現(xiàn)象時,查看復(fù)位引腳上是否出現(xiàn)了復(fù)位電平。如果存在復(fù)位電平,則檢查一下周圍其他設(shè)備的現(xiàn)象分析一下是否存在干擾的可能性。
2 可能是程序中有看門狗
有些單片機具有看門狗的。如STM32單片機具有獨立看門狗IWDG以及窗口看門狗WWDG。首先查看喂狗指令是否正常。尤其是在通訊代碼中,為了防止接收超時或者發(fā)送超時,在代碼中都會加入看門狗或者是定時指令。這時候要分析不是不是存在邏輯錯誤使代碼陷入了死循環(huán)觸發(fā)了看門狗或者定時指令。
像這種偶發(fā)性的問題,在查找BUG時,故障復(fù)現(xiàn)比較困難,所以解決問題時也比較麻煩,一定要保持清醒的頭腦,避免鉆入牛角尖。
-
單片機
+關(guān)注
關(guān)注
6037文章
44568瀏覽量
636049
發(fā)布評論請先 登錄
相關(guān)推薦
評論