前提理解:Sleep 模式下 MCU 的运行情况
在 Sleep 模式(轻度低功耗):
CPU停止运行,但
外设(如 ADC、定时器、比较器)可继续工作(视芯片型号和配置而定)
中断可唤醒 MCU(如ADC中断、比较器中断、定时器中断)
二、Sleep模式下保持电压监测的2种方式
方式1:定时器 + ADC 触发采样(Sleep中唤醒)
最常用的方法,适合定时监测,如每100ms采样一次
配置要点:
配置定时器周期性触发 ADC(通过 TRGO 触发源)
MCU 进入 __WFI() 休眠(Sleep模式)
定时器触发采样 → ADC完成采样 → 产生中断唤醒 MCU → 判断是否电压过低
好处:
节能:大多数时间休眠
保持精准电压监测
支持多个通道
方式2:使用内置比较器(COMP)进行阈值检测
如果只需要检测“是否低于某阈值”,这是最节能的方案
配置要点:
启用 COMP 比较器功能,将参考电压设为低电压阈值(如 2.8V)
比较器输出设为产生中断(边沿触发)
MCU进入 Sleep 模式
一旦被监测电压低于阈值 → COMP中断 → 唤醒 MCU → 报警处理
好处:
功耗极低(COMP本身功耗非常小)
响应实时,无需周期性采样
适合电池电量阈值告警、看门狗电压检测等用途
|