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