| 平台 | 目标 | 板子 |
| lm620 | r4f4 | e837n_v01 |
演示电源管理(PM)的睡眠/唤醒、关机/开机流程和唤醒源管理。
预期行为
**开机检测**:
**唤醒源状态**:
**唤醒中断配置**:
- SLEEP_WAKEUP_PIN :配置为上拉 + 上升沿中断 + 唤醒,用于睡眠模式唤醒
- WAKEUP_PIN :配置为下降沿中断 + 唤醒,支持睡眠和关机模式唤醒
- KEYON_PIN :配置为下降沿中断 + 唤醒,支持睡眠和关机模式唤醒
**睡眠模式**:
- 开机后调用 xt_hal_pm_request(XT_HAL_PM_MODE_SLEEP) 请求进入睡眠模式
- 创建周期定时器(3 秒),触发时打印回调日志
**PM 定时器**:
**唤醒计数与关机**:
- 每次外部引脚唤醒时累加计数,达到 10 次后设置 10 秒关机定时器并强制进入 PSM 模式
串口输出示例:
[PM Example] Starting PM example application
[PM Example] Power on
[PM Example] Last state: 1, Wake reason: 2
[PM Example] Power on reason: 0
[PM Example] Wakeup interrupt setup success
[PM Example] success XT_IO_WAKEUP
[PM Example] success XT_IO_KEYON
[PM Example] Sleep timer created
[PM Example] Sleep mode requested
[PM Example] Sleep timer started, period: 3000 ms
[PM Example] remaining time: 1000 ms
[PM Example] Entering main loop, wakeup count: 0
[PM Example] Sleep timer callback triggered, timer_id: 0
[PM Example] Wakeup callback triggered, wakeup_io: 0, count: 1
...
编译和运行
cd examples/peripherals/pm
xt --target lm620/r4f4 --board e837n_v01 fullclean build
下载固件后运行,串口观察电源管理日志。通过外部按键触发唤醒中断以验证完整流程。
注意事项
故障排除
| 现象 | 原因 | 解决 |
| 唤醒后无回调日志 | 关机模式下 AON 引脚唤醒不触发回调 | 确认使用的引脚支持关机唤醒 |
| 关机后无法唤醒 | 关机前未反初始化 WAKEUP 引脚 | 注释掉关机前的反初始化逻辑 |