STM32L4 低功耗STOP模式關閉IWDG功能

2021-10-04 08:32:02 字數 1153 閱讀 1925

1、先建立基於stm32l4的低功耗stop的例程(可以休眠1分鐘)

systick->ctrl = 0x00;//關閉定時器

systick->val = 0x00;//清空val,清空定時器

/* disable all used wakeup source */

hal_rtcex_deactivatewakeuptimer(&hrtc); 

hal_rtcex_setwakeuptimer_it(&hrtc, sample_interval*60, rtc_wakeupclock_ck_spre_16bits);//秒

/* enter stop 2 mode */

hal_pwrex_enterstop2mode(pwr_stopentry_wfi);

2、在低功耗stop例程的基礎上增加iwdg功能(週期可以設定4秒鐘)

具體看門狗週期可以按照自己的系統進行設定

hiwdg.instance = iwdg;

hiwdg.init.prescaler = iwdg_prescaler_32;

hiwdg.init.window = 4095;

hiwdg.init.reload = 4000;

if (hal_iwdg_init(&hiwdg) != hal_ok)

//餵狗操作

hal_iwdg_refresh(&hiwdg);

3、在進入休眠前設定stop模式關閉iwdg

參照

以下**參考了的部落格,在此謝謝為大家帶來方便的博主們。

只是修改了flag_iwdg變數型別。

uint32_t flag_iwdg;  

flag_iwdg=read_bit(flash->optr, flash_optr_iwdg_stop);//設定旗標,避免反覆載入flash導致重啟

if(flag_iwdg!=0)

else

4、系統重啟後,stop模式下iwdg功能即可關閉。

只要根據自己的功能以及**執行邏輯進行餵狗操作即可。

STM32 STOP模式低功耗配置

停止模式基於 cortex m4,帶 fpu 深度睡眠模式,並結合外圍時鐘門控。電壓調節器可以在正常或低功耗模式下配置。在停止模式下,1.2 v 域中的所有時鐘都將停止,pll hsi 和 hse rc 振盪器被禁用。內部 sram 和暫存器內容將保留。為了達到stm32極致低功耗的水平,在進入st...

STM32L4除錯記錄

無法燒錄 資料線與電源線不同。資料線也可以充電,但速度較慢,內部是四根線,電源線是兩根。燒錄無法儲存 燒錄後需重新上電。串列埠輸出資料 一種是位元組流,一種是串列埠列印,兩個不同,後者便於除錯。資料型別轉換 char u8,short u16,int u32,float 32,long 32。pri...

STM32低功耗設計

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