本帖最后由 乐此不疲 于 2024-1-25 21:10 编辑
如题!数据手册中掉电唤醒方式中并没有录入RTC中断唤醒方式,我在使用时也就没有考虑这个方案,今天翻看帖子看到有说RTC中断可以唤醒,详见:RTC中断可以唤醒[主时钟停振/省电模式]https://www.stcaimcu.com/forum.php?mod=viewthread&tid=3759(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区))
于是我就用开天斧实验板试了一下,测试代码如下(3.3V供电、RTC使用外部晶振):
复制代码
我的测试方法是,在程序正常运行的情况下RTC每分钟中断控制P25端的led闪烁,同时串口发送时间到串口助手窗口,测试结果完全正常。
但如果加入启动休眠的控制PCON = 0x02;这行代码后,无论是下载完成或者重新上电后程序都不能运行,不亮灯、不发送数据。
接下来我加入了P32引脚的外部中断程序,此后,在休眠状态下如果首先按下P32的按键触发一次掉电唤醒则接下来程序就会自主运行起来了,灯可以闪烁、可见到串口发送的数据了,此后如果保持供电就会维持RTC中断的唤醒模式不再需要P32的参与了。
综上,貌似这个RTC中断唤醒模式需要外部中断来启动一下才能进入状态,这似乎不太靠谱,我不知道是我的测试方法有毛病还我的测试代码有问题,请各位指点一下。
我是想做一个真正省电的日历牌,MCU每天24小时只在凌晨启动工作一次,运行一分钟刷新EPD显示器,一直在摸索实现方法但总是没能实现真正的低功耗稳定运行。诚心请梁工或其他工程师能点拨一下,,先谢了!
|