[技术问答] 请问关于HC32L136 RTC的问题

[复制链接]
929|4
 楼主| zheng111222 发表于 2020-12-21 09:56 | 显示全部楼层 |阅读模式
本帖最后由 zheng111222 于 2020-12-21 10:00 编辑

初次使用华大单片机,碰到RTC问题,向群里大佬们请教:

在RTC在运行过程中想更新RTC时间数据,在 设定 RTC_CR1.WAIT=1后, 查询 RTC_CR1.WAITF,一直为0, 这样使用如下办法,
设定 RTC_CR0.START=0后更改时间数据, 然后设定 RTC_CR0.START=1,这样更改秒和分寄存器,之后计时能正常进行,但只要再改时寄存器值,那与时寄存器同时更改的寄存器会计时停止。设置0.5S一次的RTC中断不受影响。下图是秒和时寄存器同时修改,结果秒和时寄存器停止计数,只有分计数器计数正常。
C:\Users\Administrator\Pictures\1608515594(1).png
   


1608515594(1).png
heisexingqisi 发表于 2020-12-21 20:44 | 显示全部楼层
是不是需要先关闭,才能更新。
 楼主| zheng111222 发表于 2020-12-21 21:14 | 显示全部楼层
heisexingqisi 发表于 2020-12-21 20:44
是不是需要先关闭,才能更新。

设置RTC_CR0.START=0 条件下 更改秒和分寄存器值没有问题,但如更改时寄存器值,时寄存器会计时停止,分秒还能正常计时。
zhamatu 发表于 2020-12-22 11:02 | 显示全部楼层
你看一看官方封装好的库,我觉得是应该暂停的,但如果有备份寄存器的话是不不需要暂停的
 楼主| zheng111222 发表于 2020-12-22 14:48 | 显示全部楼层
zhamatu 发表于 2020-12-22 11:02
你看一看官方封装好的库,我觉得是应该暂停的,但如果有备份寄存器的话是不不需要暂停的 ...

试过用官方库函数修改时间值不成功,查找原因是写RTC_CR1.WAIT=1后RTC_CR1.WAITF一直为0,然后超时返回
1608619482(1).png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部