您現(xiàn)在的位置: 首頁 > 標(biāo)簽 > STM32Lx
STM32Lx
STM32Lx
相關(guān)文章 : 1篇 瀏覽 : 14次

看門狗對(duì)于防止程序跑死是很關(guān)鍵的,很多時(shí)候我們的產(chǎn)品需要進(jìn)入低功耗,而且喚醒間隔也比較長,此時(shí)如果看門狗啟動(dòng)了,那么就會(huì)導(dǎo)致處在低功耗的MCU發(fā)生復(fù)位。解決這個(gè)問題的方法有兩種: 一種是增加看門狗的喂狗時(shí)間間隔,保證此間隔大于MCU喚醒間隔,這對(duì)于那種幾個(gè)小時(shí)喚醒一次的應(yīng)用,很多看門狗是不支持這么長的喂狗間隔的。第二種是MCU進(jìn)入低功耗之后停止看門狗計(jì)時(shí),喚醒之后重新開始。第二種方案就能很好的解決上述痛點(diǎn),STM32系列很多單片機(jī)的看門狗就具備這個(gè)功能,拿STM32L476VET6這型號(hào)的單片機(jī)舉例,此單片機(jī)的FLASH選項(xiàng)字節(jié)中的選項(xiàng)寄存器(FLASH_OPTR)里面有一位是用來設(shè)置在停止模式下是否凍結(jié)獨(dú)立看門狗計(jì)數(shù)器的,還有一位是用來設(shè)置在待機(jī)模式下凍結(jié)獨(dú)立看門狗計(jì)數(shù)器的(看下圖紅框內(nèi)容)。因此只要將此位清零即可實(shí)現(xiàn)在停止模式或者待機(jī)模式下暫??撮T狗的功能。