序號執行狀態
進入指令(
stm32f2xx_pwr.c
)退出條件
狀態io管腳狀態
進一步降低功耗的措施
1執行模式上電/
系統復位後的預設模式,
hclk
驅動cpu
執行**
可通過指令
進入其他模式
供電一切正常,
時鐘處於預設設定
使用者設定狀態
1、降低系統時鐘和所用外設的時鐘
2、關閉不用外設的時鐘 2
睡眠模式
__wfi()或
__wfe()
任意中斷和喚醒事件
1、可分兩種,一種是立刻進入,另一種是從最低優先順序退出後進入;
2、核心時鐘停止,外設繼續執行;
暫時沒弄清楚
進入之前:
1、降低所用外設時鐘
2、關閉不用外設的時鐘 3
待機模式
void
pwr_enterstandbymode(void);
1、pa0
上公升沿喚醒2、
rtc alarm3、
rtc wakeup4、
tamper event5、
time-stamp
event6、
external reset in
nrst pin7、
iwdg reset
1、關掉
1.2v
電壓域失電;
2、內部
sram
和暫存器內容丟失;3、
pll/hsi/hse
關閉;4
、iwdg/rtc/lsi/lse
都可由使用者決定是否執行;
5、電壓調節器關閉
所有pin
處於高阻態,除
了復位和
pc13
、pi8
和pa0
進入之前關閉備份
sram 4
停止模式
void pwr_enterstopmode(uint32_t pwr_regulator,
uint8_t pwr_stopentry)
任意內外中斷
或事件喚醒
1、1.2v
電壓域內的時鐘全部停止;
2、內部
sram
和暫存器內容仍保持;3、
pll/hsi/hse
關閉;4
、iwdg/rtc/lsi/lse
都可由使用者決定是否執行;
5、電壓調節器可設定低功耗和執行狀態
所有pin
保持同執行模式的狀態
進入之前1、把
vr配置到低功耗模式2、把
flash
配置到關閉模式
3、關掉
adc/dac
如果不需要
STM32低功耗設計
具體要點為 1 所有io管腳,如果高阻狀態埠是高電平,就設成上拉輸入,如果高阻狀態是低電平,設成下拉輸入,如果高阻是中間狀態,設成模擬輸入。這個很多人都提到過,必須的。作為輸出口就免了,待機你想輸出個什麼東西,一定要輸,硬體上加上下拉就可以了 2 兩個晶振輸入腳要remap成普通io!使用內部晶振。...
STM32F103低功耗喚醒時鐘設定
stm32中有四個時鐘源 stm32f103中預設的時鐘源為8m高速外部時鐘,通過分頻器llxtpre選擇不分頻為8mhz,再通過鎖相環pll經過9倍頻得到時鐘頻率72mhz,並將該頻率作為系統時鐘。stm32中很方便的將以上步驟簡化為乙個初始化函式 systeminit 因此,對於stm32中時鐘...
STM32F103ZET6待機喚醒 低功耗
在系統或者電源復位後,微控制器出於執行狀態之下,hclk為cpu提供時鐘,核心執行 當cpu不需要繼續執行時,可以利用多種低功耗模式來節省功耗,例如等待某個事件觸發。睡眠模式 核心停止,外設如nvic,系統時鐘systick仍執行。停止模式 所有時鐘都已停止。1.8v核心電源工作。pll,his和h...