Power Save - 省電深度睡眠模式

材料準備

  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

範例説明

介紹

Ameba-D支持兩種低功耗模式,分別是深度睡眠模式和睡眠模式。 DeepSleep模式的耗電約為7μA至8μA,而正常狀態下約為22mA。 本範例說明如何進入深度睡眠模式和配置喚醒源。

步驟

Open “File” “Examples” “AmebaPowerSave” “DeepSleepMode”

../../../../_images/image160.png

Set condition values as picture below. “DS_WAKEUP_SOURCE” is used to set the wake-up source, user can chose 3 wake up sources now,

AON Timer(SET_DS_AON_TIMER_WAKEUP);
AON GPIO pins(SET_AONWAKEPIN_WAKEUP);
RTC Timer(SET_DS_RTC_WAKEUP);

使用 AON 定時器作為喚醒源

可以通過AON_TIMER_SLEEP_DURATION在0到32760000毫秒之間設置AON計時器

使用 AON GPIO 引腳作為喚醒源

對於AMB21,有5個引腳可以設置為AON引腳和上緣觸發,GPIOA25(D16)、GPIOA26(D17)、GPIOA21(D26)、GPIOA20(D27)、GPIOA(D28)。

../../../../_images/image257.png

對於AMB23,有8個引腳可以設置為AON引腳和上緣觸發,GPIOA12(D9), GPIOA13(D10), GPIOA14(D11), GPIOA15(D12), GPIOA16(D13), GPIOA18(D15), GPIOA19(D16)、GPIOA21(D18)。

../../../../_images/image338.png

For BW16 and BW16-TypeC, there is only 6 pins that can be set as AON pin and active high for wakeup, GPIOA_25 (D7), GPIOA_26 (D8), GPIOA_15 (D9), GPIOA_14 (D10), GPIOA_13 (D11), GPIOA_12 (D12).

../../../../_images/image429.png ../../../../_images/image521.png

這些 AON 引腳可以使用 SET_AON_GPIO_WAKEUP_GPIOA25 或您想使用的引腳進行設置,如下圖所示。

../../../../_images/image611.png

使用 RTC 定時器作為喚醒源

RTC定時器通過設置鬧鐘喚醒系統。 鬧鐘具有4個值,日,時,分和秒。 可以通過DS_RTC_ALARM_DAY,DS_RTC_ALARM_HOUR,DS_RTC_ALARM_MIN和DS_RTC_ALARM_SEC設置所有4個值。

../../../../_images/image79.png

完成條件值設置後,系統將運行並在喚醒源控制的正常和深度睡眠模式之間切換。 Serial Monitor顯示切換日誌。

AON 定時器

../../../../_images/image87.png

AON GPIO 引腳

../../../../_images/image94.png

RTC 定時器

../../../../_images/image104.png

程式碼説明

請參考 API文件 相關的說明。