STM32 STOP模式低功耗配置

2021-09-25 07:27:04 字數 672 閱讀 7183

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

為了達到stm32極致低功耗的水平,在進入stop模式前需要做一些配置:

1、adc必須除能,adc在stop模式下也會產生功耗,休眠前加上adc_deinit(adc1);

2、未使用的gpio管腳一律配置成analog  nopull模式。實測最小系統下,所有管腳配置成analog nopull,stop模式休眠時能到19ua左右

3、已使用的gpio管腳一定要注意是否和外部電流形成漏電。比較好的方式是在休眠將所有gpio的配置、模式、電平都列印出來,對比電路圖看下是否滿足要求。

電平讀取:hal_gpio_readpin(gpioa, gpio_pin_0)

模式讀取:print("pa:\nmoder:  0x%x\n otyper:  0x%x\n ospeedr:  0x%x\n pupdr:  0x%x\n",

gpioa->moder, gpioa->otyper, gpioa->ospeedr, gpioa->pupdr);

然後根據需要配置休眠前gpio模式和電平狀態,讓io口保持我們期望的固定狀態,否則可能存在不確定性漏電。

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

1 先建立基於stm32l4的低功耗stop的例程 可以休眠1分鐘 systick ctrl 0x00 關閉定時器 systick val 0x00 清空val,清空定時器 disable all used wakeup source hal rtcex deactivatewakeuptimer ...

stm32 HAL 低功耗模式

最近學習了stm32的低功耗模式,發現很多可以學習的地方,微控制器功耗要低才能續航很久 低功耗模式 如果是中斷就先執行中斷的程式,然後執行上次停下的 這種模式感覺只有在等待中斷時候才有用,比如sleep 1 不過功耗不是降太多 只有靠外部中斷喚醒或者rtc定時器和看門狗喚醒 因為rtc的鬧鐘中斷是接...

STM32低功耗模式 停止模式

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