我們都知道,MCU有低功耗模式,比如GD32F303芯片,就有Sleep、Deepsleep和Standby三種模式。關于這三種模式的具體使用方法,小伙伴們可以參考《GD32F30x系列用戶手冊》。
今天我們來聊下幾個低功耗模式要點。
1、進入低功耗模式后IO口的狀態:
Sleep和Deepsleep模式:IO口保持進入低功耗前的狀態,即本來是輸出高的繼續輸出高,本來是輸出低的繼續輸出低(一個重要提示:在進入Deepsleep前,要將不需要保持狀態的IO口配置為模擬輸入,這樣可以達到最低功耗)
Standby模式:所有IO口都被強制設置為浮空輸入,即IO口不保持;
2、關于外部晶振狀態
Sleep模式:外部晶振保持振動狀態
Deepsleep模式:外部晶振停振,喚醒MCU后,MCU強制使用內部晶振且沒有倍頻,應用程序需要在喚醒后進行時鐘重配
Standy模式:外部晶振停振
3、喚醒后程序執行位置:
Sleep和Deepsleep模式:從進入低功耗之后的第一句開始執行(一般Deepsleep喚醒后的第一句為時鐘重配函數)
Standby模式:從頭重新執行程序,Standby喚醒相當于一次掉電復位
4、喚醒源:
Sleep模式:任何一個中斷或事件都將喚醒MCU(中斷或者事件取決于使用WFI還是WFE指令進入低功耗)
Deepsleep模式:只有EXTI中斷或事件可以喚醒MCU,EXTI觸發源如下圖

Standby模式:只有特定幾個喚醒源可以喚醒,分別是NRST引腳喚醒、WKUP(PA0)引腳喚醒、看門狗事件喚醒、RTC鬧鐘喚醒
更多詳細內容,請小伙伴參考《GD32F30x系列用戶手冊》——PMU章節。
關于低功耗,小伙伴們有其他想要了解的,可以在評論區留言互動哦。
-
單片機
+關注
關注
6065文章
44946瀏覽量
648024 -
mcu
+關注
關注
146文章
17889瀏覽量
361717 -
嵌入式
+關注
關注
5143文章
19571瀏覽量
315696
發布評論請先 登錄
GD32F303無法進入低功耗模式的原因?怎么解決?

【GD32F303】星空派介紹
STM32CUBEMX開發GD32F303(10)----雙ADC輪詢模式掃描多個通道

STM32CUBEMX開發GD32F303(11)----ADC在DMA模式下掃描多個通道

AN029 GD32F103程序在GD32F303和GD32F403芯片上運行DSP

GD32F303固件庫開發

【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503

評論