單片機(jī)產(chǎn)品在工作的時(shí)候,上電后是正常工作的,但是工作了幾個(gè)小時(shí)后,偶爾會(huì)出現(xiàn)單片機(jī)重啟的現(xiàn)象。從描述可以判斷出,電路在大多數(shù)的時(shí)間里工作是正常的,但是偶爾會(huì)出現(xiàn)單片機(jī)重啟故障,而電源是穩(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ù)位電平,則檢查一下周圍其他設(shè)備的現(xiàn)象分析一下是否存在干擾的可能性。
2 可能是程序中有看門狗
有些單片機(jī)具有看門狗的。如STM32單片機(jī)具有獨(dú)立看門狗IWDG以及窗口看門狗WWDG。首先查看喂狗指令是否正常。尤其是在通訊代碼中,為了防止接收超時(shí)或者發(fā)送超時(shí),在代碼中都會(huì)加入看門狗或者是定時(shí)指令。這時(shí)候要分析不是不是存在邏輯錯(cuò)誤使代碼陷入了死循環(huán)觸發(fā)了看門狗或者定時(shí)指令。
像這種偶發(fā)性的問題,在查找BUG時(shí),故障復(fù)現(xiàn)比較困難,所以解決問題時(shí)也比較麻煩,一定要保持清醒的頭腦,避免鉆入牛角尖。
-
單片機(jī)
+關(guān)注
關(guān)注
6059文章
44828瀏覽量
644984
發(fā)布評(píng)論請(qǐng)先 登錄
從單片機(jī)初學(xué)者邁向單片機(jī)工程師
ADS1251采集不穩(wěn)定是怎么回事?
STM32模擬eeprom只有起始地址0x8001000正常其他地址都會(huì)造成單片機(jī)運(yùn)行不正常怎么回事
adc161s626仿真時(shí)是出現(xiàn)forma t%s invailal or incompatible with argument錯(cuò)誤是怎么回事?
通過stm32F1單片機(jī)的PWM功能產(chǎn)生兩個(gè)時(shí)鐘,從Dout讀取到的數(shù)據(jù)位都是0,這個(gè)是怎么回事呢?
stm32單片機(jī)DAC輸出接到音頻PCM1861時(shí),波形被壓縮了是怎么回事?
單片機(jī)出現(xiàn)故障怎么維修
VCA821放大信號(hào)出現(xiàn)放大倍數(shù)先增大后減小,是怎么回事?
服務(wù)器錯(cuò)誤是怎么回事?常見錯(cuò)誤原因及解決方法匯總
使用esp32-c3下載Nuttx,下載完成后一直重啟是怎么回事?
LCD_EV_BORAD的boot按鍵,想進(jìn)入deep—sleep,但是每次會(huì)一直重啟是怎么回事?
電機(jī)轉(zhuǎn)慢了電源燙手怎么回事
晶振的誤差是怎么回事呢?如何有效控制晶振誤差的出現(xiàn)?
KT148A語(yǔ)音芯片串口版本播放音樂的時(shí)候,直接導(dǎo)致單片機(jī)工作異常

評(píng)論