单片机/MCU论坛
直播中

王萍

7年用户 1272经验值
私信 关注

RTC在DeepSleep模式唤醒后无效的原因?

现在RTC唤醒MCU时出现了问题。 我设置5s唤醒。 我发现RTC配置后就失效了。 导致我的看门狗会复位。   

        现在我搞不太懂,我发现如果我不配置成DeepSleep模式, 就可以正常更新RTC的时间。 随意配置。  但是如果是Deepsleep模式唤醒后需要重新配置RTC时间,就不成功。 我看RTC是可以唤醒DeepSleep模式的。 只要我把RTC中断配置在3~7之间。   我如果按照默认的1s唤醒。就没有问题。 我发现程序里面1s唤醒不需要重新配置。 能否给一些指导建议!
                                                                                                                                                                                                                        

回帖(1)

王艳

2024-2-19 16:24:41
有以下几种可能导致RTC在DeepSleep模式唤醒后失效的原因:

1. 电源管理:RTC的工作需要一定的电源供应,如果在DeepSleep模式下电源供应不稳定或被关闭,RTC可能失效。请确保在DeepSleep模式下RTC的电源可用。

2. 中断配置:在DeepSleep模式下,RTC的中断配置可能需要特殊的设置。请检查RTC中断的配置,确保它们在DeepSleep模式下能够正常触发。

3. 清除标志位:当MCU从DeepSleep模式唤醒后,可能需要清除RTC的标志位,才能继续使用。请检查是否在唤醒后清除RTC的标志位。

4. 初始化设置:RTC的初始化设置可能需要特殊的设置,以使其在DeepSleep模式下能够正常工作。请确保在DeepSleep模式下RTC的初始化设置正确。

5. 程序逻辑错误:如果程序在DeepSleep模式下处理RTC唤醒事件时存在逻辑错误,可能导致问题。请仔细检查程序逻辑,确保正确处理RTC的唤醒事件。

针对你的具体情况,可能需要对以上几个方面进行逐一排查和调试,找出导致RTC失效的具体原因。同时,如果可能的话,提供更多的细节和代码片段,可以有助于更精准地定位问题和给出建议。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分