STM32 待機模式與看門狗和諧相處

2021-09-26 19:59:37 字數 513 閱讀 1122

由於在standby mode,看門狗仍然能繼續工作,但是其他時鐘都關閉了,沒法餵狗,這樣會導致mcu不停復位。網上找的方法如下:1. 開啟rtc,定期餵狗後再次睡眠。該方法視乎可行,但是不夠省電。

2,使用復位標誌,區分上電復位和看門狗復位。

if (rcc_getflagstatus(rcc_flag_iwdgrst) != reset)
但是實際測試有問題,stm32無法區分上電復位和看門狗復位。

1. mcu 正常啟動後,在進入省電模式的函式那裡把省電內容替換位系統復位。

2. 在省電模式(即系統復位)後,mcu會重啟,初始化io口讀取儲存在eeprom的省電標誌位,如果位1,直接開啟看門狗並執行系統,如果為0,則進入休眠函式。為什麼這種方法可行,是因為在進入休眠模式之前看門狗還沒有啟用,所有就不存在餵狗問題。

此外如果是上電立馬開機,則不用判斷標誌位,且發生看門狗復位也能開機。如果是需要按鍵開機,則需要判斷省電標誌位, 如果是看門狗復位也需要判斷標誌位, 以此判斷是否開機。

stm32 視窗看門狗

當程式跑飛後又回到正常地方或者正好執行了重新整理看門狗操作,此情況下一般的看門狗是檢查不出來的 故可以使用視窗看門狗,這樣保證不會提前或者之後重新整理看門狗。可以檢查程式沒有按正常路線執行而跳過的一些程式段。視窗看門狗 就是在餵狗時間上有乙個上下線。只有在此時間段內才能執行餵狗操作。上線可以在暫存器...

STM32視窗看門狗

今天剛好遇到使用視窗看門狗的情況,開始設定不是很理解,摸索了幾個小時後終於明白了。記錄下以備不時之需。如上圖,從手冊的截圖,首先找到wwdg的時鐘 就是apb1了。其次我們看到下面wwdg復位條件兩個 如果啟動了看門狗當看門狗計數器 7bit 最大值127 少於0x40 64 時復位,如果啟動了看門...

stm32獨立看門狗實驗

alientek mini stm32開發板v1.9範例 5 獨立看門狗實驗 正點原子 alientek 技術論壇 www.openedv.com stm32f103rbt6屬於中容量版本的mcu 看門狗的原理 微控制器系統在外界的干擾下會出現程式跑飛的現象導致出現死迴圈,看門狗電路就是為了避免這種...