请问关于HC32L136 RTC的问题
本帖最后由 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
是不是需要先关闭,才能更新。 heisexingqisi 发表于 2020-12-21 20:44
是不是需要先关闭,才能更新。
设置RTC_CR0.START=0 条件下 更改秒和分寄存器值没有问题,但如更改时寄存器值,时寄存器会计时停止,分秒还能正常计时。 你看一看官方封装好的库,我觉得是应该暂停的,但如果有备份寄存器的话是不不需要暂停的 zhamatu 发表于 2020-12-22 11:02
你看一看官方封装好的库,我觉得是应该暂停的,但如果有备份寄存器的话是不不需要暂停的 ...
试过用官方库函数修改时间值不成功,查找原因是写RTC_CR1.WAIT=1后RTC_CR1.WAITF一直为0,然后超时返回
页:
[1]