Power Save - Tickless 模式

材料准备

范例说明

介绍
Ameba-D支持两种低功耗模式,分别是深度睡眠模式和睡眠模式。与正常状态下约15mA的耗电相比,tickless睡眠模式的功耗约为28uA至30uA。这个例子描述如何使用带有uart可中断接口的freertos tickless。

步骤
打开 “File” -> “Examples” -> “AmebaPowerSave” -> “TicklessMode”

1

如下图所示设置条件值。
“TL_WAKEUP_SOURCE” 用于设置唤醒源,用户现在可以选择3个唤醒,
LOGUART(SET_TL_UART_WAKEUP);
RTC Timer(SET_TL_RTC_WAKEUP);
• AON pins (SET_AON_GPIO_WAKEUP_PAxx) with xx being the pin no. (e.g. SET_AON_GPIO_WAKEUP_PA25);

使用 LOGUART 作为唤醒源

当选择 LOGUART 作为唤醒源时,“TL_Suspend_function”将选择相应的tickless模式唤醒源。在再次进入睡眠模式之前,开发板将在 TL_SYSACTIVE_TIME(默认设置为 10000 毫秒)内保持活动模式。要唤醒,请在 Arduino Serial Monitor中按键盘上的“Enter”按钮。

使用 RTC 定时器作为唤醒源

RTC 定时器唤醒源可以使用 RTC 闹钟中设置的时间(包括日、小时、分钟和秒)将 RTOS 从tickless模式唤醒。所有 4 个值均可通过 DS_RTC_ALARM_DAY、DS_RTC_ALARM_HOUR、DS_RTC_ALARM_MIN 和 DS_RTC_ALARM_SEC 设置。在再次进入睡眠模式之前,开发板将保持活动模式 TL_SYSACTIVE_TIME(默认设置为 10000 毫秒)。 RTOS 将在预设的 RTC 唤醒时间到达后唤醒。

1

使用 AON GPIO 引脚作为唤醒源

对于AMB21,有5个引脚可以设置为AON引脚和上缘触发,PA25(D16), PA26(D17), PA21(D26), PA20(D27), PA(D28)。

对于AMB23,有8个引脚可以设置为AON引脚和上缘触发,PA12(D9), PA13(D10), PA14(D11), PA15(D12), PA16(D13), PA18(D15), PA19(D16), PA21(D18)。

对于BW16/BW16 type C,有6个引脚可以设置为AON引脚和上缘触发,PA25 (D7), PA26 (D8), PA15 (D9), PA14 (D10), PA13 (D11), PA12 ( D12)。

对于AW-CU488 Thing Plus,有10个引脚可以设置为AON引脚和上缘触发,PA18(D0), PA16(D1), PA17(D2), PA13(D3), PA12(D4), PA26( D5), PA25(D6), PA19(D8), PA15(D28), PA14(D29)。

对于AMB25/AMB26,有6个引脚可以设置为AON引脚和上缘触发,PA12(D3), PA13(D2), PA14(D1), PA15(D0), PA25(D7), PA26(D6) 。

1

TL_SYSACTIVE_TIME用于设置系统保持活动的持续时间。 (单位毫秒)

LOGUART

1

RTC 定时器

1

AON GPIO 引脚

1

程式码说明

请参考API Documents 相关的说明。
请先确认已安装QQ通讯软体