RTC在DeepSleep模式唤醒后无效的问题请教

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JeHa_3912621
Level 3
Level 3
25 replies posted 10 replies posted 10 questions asked

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

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

0 点赞
1 解答
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

从你在问题里面描述,我不清楚你说的是哪一颗芯片,另外你说的中断在3-7之间是从哪里看到的?

1: 如果你是基于PSoC6 芯片的研发,那么关于RTC的唤醒,请看附件AN:

https://www.cypress.com/documentation/code-examples/ce218542-psoc-6-mcu-custom-tick-timer-using-rtc-...

2:   如果你用的是PSoC4内部的比较器,这类芯片内部没有硬件RTC,所有RTC的例子都是软件模拟的。软件模拟的,自然不支持在Deepsleep下工作,因为DeepSleep模式下,MCU的代码是不运行的。

3: Hope my response is helpful for you.

在原帖中查看解决方案

0 点赞
3 回复数
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

从你在问题里面描述,我不清楚你说的是哪一颗芯片,另外你说的中断在3-7之间是从哪里看到的?

1: 如果你是基于PSoC6 芯片的研发,那么关于RTC的唤醒,请看附件AN:

https://www.cypress.com/documentation/code-examples/ce218542-psoc-6-mcu-custom-tick-timer-using-rtc-...

2:   如果你用的是PSoC4内部的比较器,这类芯片内部没有硬件RTC,所有RTC的例子都是软件模拟的。软件模拟的,自然不支持在Deepsleep下工作,因为DeepSleep模式下,MCU的代码是不运行的。

3: Hope my response is helpful for you.

0 点赞

您好,我使用的是cy8c6247, 我使用的例程是CE218542。  区别就是例子是在M4内核跑。 我的失在M0里面跑RTC。 我发现我刚开始配置RTC唤醒Deepsleep的时候,需要在中断配置选项配置一下Vector, 确保在3~7之间才能唤醒。

后面我就发现利用rtc定时唤醒Deepsleep模式。 会有失败的情况。 如果不进入Deepsleep模式,利用CE218542的更新RTC时间的函数更新后就没有问题。 如果睡眠在唤醒以后,有些情况会失败。 导致再次进入睡眠后就无法定时唤醒了。 但是有时也会配置成功。  

还要1个疑惑,就是我理解的RTC定时唤醒,在初始化的时候设定了时间间隔以后,不是应该默认每次 都间隔相同的时间启动吗。 为什么每次都需要重新配置唤醒时间?   只有在时间设定在1s的时候不需要重新配置下1个唤醒的时间? 

0 点赞
Roy_Liu
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 10 questions asked

看起来在这里解决了PSOC6 RTC重新配置时间无效的问题

Roy Liu
0 点赞