调试低功耗功能时,经常遇到单片机成功进入休眠模式后完全无法唤醒,反复核对唤醒源的寄存器配置,参数完全符合手册要求。问题大多不是唤醒源设置错误,是休眠前后的隐性操作留下了隐患。

1. IO引脚状态未初始化
进入低功耗前,部分闲置IO引脚处于浮空状态,电平不确定。
引脚漏电导致单片机内核电源出现异常波动,直接锁死了唤醒逻辑,外部唤醒信号无法触发响应。
2. 唤醒源时钟未使能
部分低功耗唤醒源依赖内部低速时钟,比如外部RTC、独立看门狗时钟。
进入休眠前低速时钟被提前关闭,唤醒源本身失去工作时钟,完全无法检测外部触发信号。
3. 中断优先级配置冲突
唤醒用的外部中断优先级,被设置成了比内核当前运行级别更低的档位。
即使触发了唤醒中断,也会被内核直接屏蔽,无法跳出低功耗休眠状态。
4. 快速修复方法
进入低功耗前把所有闲置IO配置成上拉或下拉状态,固定电平。
确认唤醒源对应的低速时钟全程保持开启,将唤醒中断优先级设为最高级,就能正常触发唤醒。
本文凡亿教育原创文章,转载请注明来源!
暂无评论