STM32单片机低功耗配置
生活随笔
收集整理的這篇文章主要介紹了
STM32单片机低功耗配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、低功耗模式
當CPU不需繼續運行時,可以利用多種低功耗模式來節省功耗,STM32支持三種低功耗模式,可以在要求低功耗、短啟動時間和多種喚醒事件之間達到最佳的平衡。
- 睡眠模式SleepMode。在睡眠模式,只有CPU停止,所有外設處于工作狀態并可在發生中斷/事件時喚醒CPU。
?
- 停機模式StopMode。保持SRAM和寄存器內容不丟失,達到最低的電能消耗。停止所有內部1.8V部分的供電, PLL、 HSI的RC振蕩器和HSE晶體振蕩器被關閉,調壓器可以被置于普通模式或低功耗模式。可以通過任一EXTI從停機模式中喚醒, EXTI信號可以是16個外部I/O口之一、 PVD的輸出、 RTC鬧鐘或USB的喚醒信號。
?
- 待機模式StandbyMode。最低的電能消耗。內部1.8V部分的供電被切斷; PLL、 HSI的RC振蕩器和HSE晶體振蕩器關閉;SRAM和寄存器的內容將消失,但后備寄存器的內容仍然保留,待機電路仍工作。從待機模式退出的條件是: NRST上的外部復位信號、 IWDG復位、 WKUP引腳上的一個上升邊沿或RTC的鬧鐘到時。
?
二、低功耗模式基于HAL庫的常用API
2.1睡眠模式SleepMode
- __HAL_RCC_PWR_CLK_ENABLE();//電源管理使能
- HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);//進入睡眠模式
2.2停機模式StopMode
- __HAL_RCC_PWR_CLK_ENABLE();//電源管理使能
- HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI);//進入停機模式
- ReSysClkConfig_STOP();?//停機喚醒后需要重新配置時鐘??
2.3?待機模式StandbyMode
- __HAL_RCC_PWR_CLK_ENABLE();//電源管理使能
- PWR_Check_Standby();//檢查是否是待機模式
- __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);//清除喚醒標志
- __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);//清除待機標志
- __HAL_PWR_GET_FLAG(PWR_FLAG_SB);//獲得待機模式標志
- HAL_PWR_EnterSTANDBYMode();//進入待機模式
三、UnusedPin配置原則
1、不用的IO按照外部電路設置成上拉或下拉;
2、設置成浮空輸入的功耗最大。
3、不用的管腳模擬輸入。
?
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的STM32单片机低功耗配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux更新命令yum,Linux中升
- 下一篇: HackTheBox -- RedPan