M2L31系列的MCU在休眠状态下LPADC自主工作、定期采样,并且每次与设定阈值比较,若数值超标就唤醒MCU,否则不唤醒MCU。
M2L31有一些外设在MCU休眠状态仍可保持工作,如LPTimer、LPADC和LPUART等。本例程配置LPTimer周期性的触发LPADC启动转换,转换结果若超标就唤醒MCU、代码处理后续事情;转换结果若不超标,MCU保持休眠状态。此代码实现了在最低功耗下保持对传感器的监测。
配置M2L31的LPTIMER为周期计数模式,在NPD4休眠模式保持工作,溢出时触发LPADC启动转换。
配置M2L31的LPADC在NPD4休眠模式保持工作,并LPADC数据每次与指定阈值比较,超标就唤醒NPD4模式下的MCU。
如果LPADC数据超过指定值(代码中是2048),MCU被唤醒,PC14上的红色LED会闪一下,然后MCU再次进入NPD4休眠模式。LPADC数据不超标LED不会闪。
可将LPADC输入引脚PB2连到VDD或地,观察红色LED是否闪烁,或用示波器测量LED控制引脚PC14的波形,验证代码执行正常。可用微安表测量LED不闪时MCU的电流。
|