最近在用小华HC32F4A0做一款电池供电的采集终端,需要在待机时进入低功耗模式、由外部按键中断唤醒,折腾了几天把关键点记录下来,供同样踩坑的网友参考。
1. 低功耗模式选择
HC32F4A0支持多种低功耗模式,我选用的是深度睡眠(SLEEPDEEP)模式,配合外部中断唤醒。进入低功耗前建议先关闭不需要的外设时钟,把GPIO配置成合适的电平状态,避免漏电流。
2. 外部中断配置
用的是EXTI外部中断,注意唤醒源需要配置为"事件"模式才能从深度睡眠中唤醒,仅配置为"中断"模式在深度睡眠下不会触发唤醒。这是最容易踩的坑,配置EXTI时一定要同时使能事件模式。
3. 时钟与唤醒延时
从深度睡眠唤醒后系统时钟需要重新稳定,建议唤醒后先等待内部高速RC稳定再操作外设,否则会出现偶发的总线错误。我最后加了一个小的延时函数,实测稳定性明显改善。
4. 实测电流
待机电流从原来的2mA左右降到了uA级别,按键唤醒响应正常,整机功耗符合预期。
以上是小华HC32F4A0低功耗调试的一点心得,欢迎一起交流讨论。 |
|