用料
示例
说明
在这个示例中,开发板将演示深度睡眠模式以节省电力。
深度睡眠模式有 3 种唤醒源:AON 定时器、AON GPIO 和 RTC。系统将倒计时 5 秒,然后进入深度睡眠模式。
当唤醒源被触发时,系统将重新启动并再次唤醒。
模块和板在深度睡眠模式下的功耗报告列在以下两个表格中。
RTL8735B 模块功耗测试结果
唤醒源 |
模块功耗(uA) |
|
深度睡眠模式(在 3.3V 下测量) |
AON 定时器 |
32.78 |
AON GPIO |
40.98 |
RTC |
41.08 |
AMB82 迷你板功耗
唤醒源 |
开发板功耗近似测量(mA) |
|
正常模式 |
AON 定时器 |
53.01 |
AON GPIO |
52.97 |
RTC |
53.05 |
实现流程
在“文件”->“示例”->“AmebaPowerMode”->“DeepSleepMode”中打开示例。
![image.png image.png](data/attachment/forum/202501/20/163103sc10fejz1rpae1ec.png)
- 接下来是设置系统并进入电源模式。请参阅以下步骤进入深度睡眠模式。
- 步骤 1:设置“WAKEUP_SOURCE”,AON 定时器:0;AON GPIO: 1; RTC: 2.
- 步骤 2:设置唤醒源设置。有 3 种唤醒源,每种都有自己的设置。
对于 AON 定时器,在 #if (WAKEUP_SOURCE == 0) 部分,设置“CLOCK”和“SLEEP_DURATION”的值。“CLOCK”可以是 4MHz 或 100kHz。“SLEEP_DURATION”单位是秒。
对于 AON GPIO,在“#elif (WAKEUP_SOURCE == 1)”部分,设置“WAKUPE_SETTING”的值。在这种情况下,“WAKUPE_SETTING”是引脚号,可以是 21 或 22。GPIO 引脚设置为高电平有效,请参考以下连接图。
![image.png image.png](data/attachment/forum/202501/20/163130n042e42s0z114x6f.png)
对于 RTC,在“#elif (WAKEUP_SOURCE == 2)”部分,设置“ALARM_DAY”,“ALARM_HOUR”,“ALARM_MIN”或“ALARM_SEC”的值。所有闹钟值设置 RTC 唤醒的持续时间。范围是“1 天,0 小时,0 分,0 秒”到“365 天,23 小时,59 分,59 秒”。
这一步只有一个可选设置。当唤醒源设置为 RTC 时,使用“PowerMode.start(1970, 1, 1, 0, 0, 0);”替换“PowerMode.start();”来设置开始时间。(默认是 1970 年 1 月 1 日 00:00:00)。
![image.png image.png](data/attachment/forum/202501/20/163154zsk784va4x0v7v4d.png)
要唤醒,所有定时器将在持续时间结束后自动唤醒,所有 GPIO 引脚必须通过按下按钮激活高电平。
正确的启动、进入深度睡眠和重启周期将与以下图片相同。
![image.png image.png](data/attachment/forum/202501/20/163223rjfhsa0mkfsh0a6y.png)
|