我們都知道,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章節。
關于低功耗,小伙伴們有其他想要了解的,可以在評論區留言互動哦。
-
單片機
+關注
關注
6040文章
44592瀏覽量
636861 -
mcu
+關注
關注
146文章
17199瀏覽量
351912 -
嵌入式
+關注
關注
5087文章
19153瀏覽量
306413
發布評論請先 登錄
相關推薦
評論