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