HC32L136K8TA的RTC周期中断为什么唤醒不了深度睡眠模式呢
本帖最后由 WilliamChok 于 2020-8-5 11:31 编辑设想是系统无操作15s就进入深度休眠模式,RTC每一分钟唤醒休眠模式,然后进入周期中断串口发送一组数据。
没有进入休眠模式的时候,能正常进入周期中断,串口能发送数据,进入休眠后RTC无法唤醒休眠。
是我RTC配置问题还是,有人帮忙看看吗?
WDT使用了吗?如果使用了,时间是多少? martinhu 发表于 2020-8-5 13:55
WDT使用了吗?如果使用了,时间是多少?
没有使用WDT,就是设置了外部中断和RTC唤醒,外部中断可以唤醒,就是RTC周期中断唤醒不了 早上试了一下WDT唤醒,定时52.4s能正常唤醒,只是把RTC周期中断换成WDT溢出中断,WDT可以RTC却不行。
然后我就发现WDT是用的专用的10K片内振荡器提供时钟的,我就感觉是进入休眠模式的时候RTC低速时钟被关闭了,然后尝试在进入休眠模式前加一句“Sysctrl_ClkSourceEnable(SysctrlClkXTL,TRUE);”RTC周期中断就能正常唤醒休眠了。
但是手册上是说进入休眠模式时低速时钟是不会主动关闭的,都是保持原来的运行状态,
所以一开始也是没注意这个问题,也许是我进入休眠模式的代码有问题吧,再好好查查。
问题算是解决了,在这里给大家分享一下
WilliamChok 发表于 2020-8-6 14:18
早上试了一下WDT唤醒,定时52.4s能正常唤醒,只是把RTC周期中断换成WDT溢出中断,WDT可以RTC却不行。
然后 ...
RCL或XTL不会因为进Deep sleep而关闭 问题找到了,是因为我在进休眠模式的时候把外部晶振的IO设置成输出了 本帖最后由 qiyajiang30 于 2022-3-31 10:26 编辑
WilliamChok 发表于 2020-8-7 09:27
问题找到了,是因为我在进休眠模式的时候把外部晶振的IO设置成输出了 ...
我想请问下,rtc中断在初始化以后一定会不经过定时来一次么??比如我设置成RtcInitStruct.rtcPrdsel.rtcPrds = Rtc1H,然后刚过初始化不久rtc中断就来了,后面就是正常时间定时来中断了
页:
[1]