MCU進(jìn)入低功耗之后,以極低的功耗維持著系統(tǒng)“活著”,但是醒過來是需要一定條件的,比如定個(gè)“鬧鐘”,按鍵“按一下”等,目前常用的“正常的”喚醒方式有以下幾種:
1、RTC定時(shí)喚醒;
2、外部中斷喚醒(按鍵或者通訊喚醒);
3、特殊喚醒引腳喚醒(某些引腳具有專門的喚醒功能)。
下面,我們?cè)賮砜匆豢慈绾瓮ㄟ^RTC和外部中斷喚醒MCU。
1、RTC定時(shí)喚醒
依然是從手冊(cè)中我們可以看到,所有的RTC時(shí)間都可以把MCU從低功耗模式中喚醒:
介紹使用RTC的定時(shí)功能實(shí)現(xiàn),定時(shí)1S喚醒一次,使用cubemx進(jìn)行對(duì)RTC進(jìn)行配置:
生成代碼的時(shí)候,勾選這個(gè)選項(xiàng),可以把不用的引腳配置為模擬輸入模式,降低功耗:
RTC的配置如圖,使能RTC,1S中斷喚醒一次:
接著,我們?cè)趙hile(1)里面寫下面的代碼,通過串口打印出喚醒信息,實(shí)際上代碼在執(zhí)行的時(shí)候,遇到紅框出的低功耗入口函數(shù),代碼會(huì)停止在這里,當(dāng)遇到喚醒信號(hào)的時(shí)候,會(huì)繼續(xù)往下執(zhí)行,一般進(jìn)入STOP模式之前我們會(huì)先配置好喚醒所需要的條件,相應(yīng)的IO等進(jìn)入低功耗狀態(tài),喚醒之后,把硬件相關(guān)的重新初始化,才可以正常使用。
外部中斷也可以用來喚醒MCU,需要提供一個(gè)下降沿用以把MCU從低功耗中喚醒。
我們就直接使用串口的RX作為外部中斷引腳喚醒,使用串口3的RX也即是PB11引腳,關(guān)于外部中斷這里不做具體介紹了,需要的小伙伴可以私信我,專門出一期介紹。
需要先配置IO口為外部中斷模式:
在進(jìn)入低功耗模式之前一定要先配置,這樣才能夠正常喚醒。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17932瀏覽量
363162 -
STM32
+關(guān)注
關(guān)注
2291文章
11026瀏覽量
363767 -
低功耗
+關(guān)注
關(guān)注
11文章
2772瀏覽量
104776
發(fā)布評(píng)論請(qǐng)先 登錄
STM32超低功耗入門之喚醒
介紹STM32低功耗睡眠模式事件喚醒的實(shí)現(xiàn)
STM32 HAL庫初始化MPU6050低功耗 中斷喚醒

STM32超低功耗入門之喚醒

STM32 低功耗停機(jī)模式(STOP)管腳中斷(INTERRUPT)喚醒實(shí)現(xiàn)及優(yōu)化

STM32 低功耗停機(jī)模式(STOP)管腳事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化

【STM32】串口喚醒低功耗

STM32,CubeMX,低功耗模式:RTC喚醒

STM32 低功耗待機(jī)(STANDBY) 和關(guān)機(jī)(SHUTDOWN) 專用管腳喚醒 (EWUP)

STM32外部中斷、串口喚醒低功耗

STM32 低功耗STOP模式,RTC喚醒

STM32 低功耗睡眠模式(SLEEP)事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化

STM32 低功耗睡眠模式(SLEEP)中斷(INTERRUPT)喚醒實(shí)現(xiàn)及優(yōu)化

STM32F1系列使用HAL庫低功耗STOP和STANDBY模式喚醒(RTC時(shí)鐘喚醒+外部中斷喚醒示例)

評(píng)論