许多场景要求系统周期性唤醒处理任务,如环境检测或状态汇报。
示例:每 5 秒采集一次传感器
c
复制
编辑
setup_rtc_wakeup_interval(5); // 配置 RTC 每 5 秒触发中断
void interrupt ISR(void) {
if (RTCIF) {
RTCIF = 0; // 清除中断标志
read_sensor(); // 读取数据
send_data(); // 上报或处理
enter_sleep_mode(); // 再次进入低功耗状态
}
}
优势:主系统只在必要时运行,其余时间处于休眠状态,大幅延长续航时间。
|