stm32低功耗休眠模式下使用看門狗wdt

2021-09-02 13:06:29 字數 583 閱讀 9474

最近乙個專案在用stm32f103,發現stm32一旦開啟看門狗,就關不了,進入低功耗模式後,看門狗也重啟,不使用看門狗非常危險,網上看了好多資料也查不到解決方案,後來自己想到乙個可以進入低功耗又可以使用看門狗的方案,在這裡給大家分享,我自己實驗過可以正常使用。

我的產品是關機後進入低功耗模式,mcu一直帶電。

關機流程:關機命令----往flash建立flag標誌—重啟(呼叫函式nvic_systemreset())

開機流程:1. 讀flash是否有flash標誌----是----刪除flag標誌-----進入低功耗模式。

2. 讀flash是否有flash標誌----否—直接進入程式。

所以我的產品關機的整個流程是這樣:關機命令----往flash建立flag標誌----重啟----讀flash是否有flash標誌----是----刪除flag標誌-----進入低功耗模式。

開機流程是這樣:讀flash是否有flash標誌----否—直接進入程式。

如果看門狗引起重啟的開機是這樣: 讀flash是否有flash標誌----否—直接進入程式。

就是因為呼叫重啟函式nvic_systemreset(),相當於把看門狗關了。

STM32低功耗模式 停止模式

停止模式是在cortex m3的深睡眠模式基礎上結合了外設的時鐘控制機制,在停止模式下電壓調節器可執行在正常或低功耗模式。此時在1.8v供電區域的的所有時鐘都被停止,pll hsi和hse rc振盪器的功能被禁止,sram和暫存器內容被保留下來。thumb指令不支援彙編內聯 採用如下方法實現執行彙編...

STM32低功耗設計

具體要點為 1 所有io管腳,如果高阻狀態埠是高電平,就設成上拉輸入,如果高阻狀態是低電平,設成下拉輸入,如果高阻是中間狀態,設成模擬輸入。這個很多人都提到過,必須的。作為輸出口就免了,待機你想輸出個什麼東西,一定要輸,硬體上加上下拉就可以了 2 兩個晶振輸入腳要remap成普通io!使用內部晶振。...

STM32的3種低功耗模式

睡眠模式 核心停止,外設如nvic,系統時鐘systick仍執行。停止模式 所有時鐘都已停止 1.8v核心電源工作 pll,his和hserc振盪器功能禁止 暫存器和sram內容保留。待機模式 1.8v核心電源關閉 只有備份暫存器和待機電路維持供電 暫存器和sram內容全部丟失 實現最低功耗。在待機...