在調(diào)試MCU時(shí),經(jīng)常會(huì)遇到復(fù)位的情況。要找到復(fù)位的原因,我們就需要了解到有哪些因素會(huì)導(dǎo)致MCU復(fù)位。
1.外部輸入復(fù)位
當(dāng)我們改變MCU的reset引腳的電平,并保持一段時(shí)間,就可以復(fù)位MCU。
外部輸入復(fù)位是重啟MCU最有效的方式了。
2.上電復(fù)位(LVD)
我們發(fā)現(xiàn)MCU不接外部復(fù)位電路,也能正常啟動(dòng)起來,這就是上電復(fù)位在發(fā)揮作用。
如下圖,當(dāng)電源電壓達(dá)到POR釋放電壓后,MCU開始內(nèi)部初始化,一定時(shí)間后開始執(zhí)行用戶程序。
當(dāng)然,如果電源電壓掉到了POR檢測電壓以下時(shí),MCU會(huì)被復(fù)位住。
3.低電壓復(fù)位(LVD)
當(dāng)我們希望MCU不在某一電壓以下運(yùn)行時(shí),開啟LVD是一個(gè)很好的選擇。
當(dāng)電源電源下降到LVD檢測電壓以下時(shí),MCU會(huì)被復(fù)位住。
當(dāng)電源電壓上升的LVD釋放電壓以上時(shí),MCU會(huì)被釋放,重啟運(yùn)行。
4.看門狗復(fù)位(WDT)
當(dāng)MCU因?yàn)楦蓴_等因素導(dǎo)致進(jìn)入死循環(huán),這個(gè)時(shí)候需要一種機(jī)制讓MCU重新啟動(dòng),這種機(jī)制就是看門狗。
在開啟看門狗后,如果不及時(shí)喂狗,那么它將毫不猶豫的復(fù)位MCU,使其重新開始執(zhí)行用戶程序。
5.系統(tǒng)時(shí)鐘復(fù)位
如果系統(tǒng)時(shí)鐘的設(shè)置,使MCU進(jìn)入死鎖狀態(tài),那么就會(huì)發(fā)生系統(tǒng)時(shí)鐘復(fù)位。
6.修整數(shù)據(jù)復(fù)位
低電壓復(fù)位(LVD)的檢測值是可以由用戶的選擇的。
根據(jù)用戶選擇,得到修整數(shù)據(jù),從而調(diào)整電阻梯以形成不同電壓的比較值。
如果這個(gè)修整數(shù)據(jù)因?yàn)樵肼暤仍虬l(fā)生改變,那么將發(fā)生修整數(shù)據(jù)復(fù)位。
7.閃存待機(jī)復(fù)位
當(dāng)設(shè)置閃存flash進(jìn)入待機(jī)狀態(tài),如果這個(gè)時(shí)候試圖去讀取閃存flash中的數(shù)據(jù),那么就會(huì)發(fā)生閃存待機(jī)復(fù)位。
除了第一種外部輸入復(fù)位為外部因素外,其他復(fù)位都是內(nèi)部因素。
當(dāng)發(fā)生復(fù)位時(shí),我們?nèi)绾闻袛嗍悄囊环N因素導(dǎo)致的呢?
如果是使用東芝TLCS-870/C1系列的TMP89FS60,可以通過它的寄存器IRSTSR來判斷。
IRSTSR是一個(gè)特殊的只讀寄存器,它只能被外部輸入復(fù)位或者上電復(fù)位(POR)初始化。
當(dāng)發(fā)生復(fù)位時(shí),我們?nèi)ゲ榭催@個(gè)寄存器哪個(gè)位被置位了,就能知道是哪種內(nèi)部因素導(dǎo)致的復(fù)位了。
如果發(fā)生復(fù)位后,這個(gè)寄存器沒有被置位,那么我們就要去考慮是外部輸入復(fù)位導(dǎo)致的,還是上電復(fù)位(POR)導(dǎo)致的了。
責(zé)任編輯人:CC
-
mcu
+關(guān)注
關(guān)注
146文章
17917瀏覽量
362745 -
復(fù)位
+關(guān)注
關(guān)注
0文章
179瀏覽量
24622 -
mcu復(fù)位
+關(guān)注
關(guān)注
0文章
15瀏覽量
6594
發(fā)布評(píng)論請(qǐng)先 登錄
LMX2820鎖定了之后,又失鎖,什么因素導(dǎo)致的?
有哪些些因素會(huì)導(dǎo)致LDC1614復(fù)位?
esd導(dǎo)致mcu和adc復(fù)位問題
看門狗導(dǎo)致mcu不停復(fù)位的原因
lcd的顯示速度跟哪些因素有關(guān)呢?
初始化mcu程序選用32k_MCU的復(fù)位因素有哪些
外部IC連接NRST導(dǎo)致MCU內(nèi)部復(fù)位信號(hào)失效的問題
mcu復(fù)位導(dǎo)致I2C異常

初始化mcu程序選用32k_MCU有多少種復(fù)位因素

連接器為什么會(huì)腐蝕?哪些因素會(huì)導(dǎo)致連接器腐蝕?
如何排查GD32 MCU復(fù)位是由哪個(gè)復(fù)位源導(dǎo)致的?

MCU復(fù)位RAM會(huì)保持嗎,如何實(shí)現(xiàn)復(fù)位時(shí)變量數(shù)據(jù)保持

評(píng)論