lianxi47 发表于 2012-12-8 07:08:15

求助:STM32F407 RTC读日期 错误的问题

 使用STM32F407 标准库的RTC例程,调用函数RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure);读取日期,每5S读一次,发现在每天的凌晨时,小时值读出来,可以从23:59:59 正确的读到第2天的00:00:04S,而日期值在过凌晨后,还是前一天的日期,大约再读1分钟得样子,日期读出来才更新,不知道是什么原因,望各位朋友帮忙分析分析,谢谢。
The current time is :  12-12-12 23:59:56
The current time is :  12-12-12 23:59:59
The current time is :  12-12-12 00:00:04
The current time is :  12-12-12 00:00:09
The current time is :  12-12-12 00:00:14
The current time is :  12-12-12 00:00:19
The current time is :  12-12-12 00:00:24
The current time is :  12-12-12 00:00:29
The current time is :  12-12-12 00:00:34
The current time is :  12-12-12 00:00:39
The current time is :  12-12-12 00:00:44
The current time is :  12-12-12 00:00:49
The current time is :  12-12-12 00:00:54
The current time is :  12-12-12 00:00:59
The current time is :  12-12-12 00:01:04
The current time is :  12-12-12 00:01:09
The current time is :  12-12-12 00:01:14
The current time is :  12-12-12 00:01:19
The current time is :  12-12-12 00:01:24
The current time is :  12-12-13 00:01:29
The current time is :  12-12-13 00:01:34

废鱼 发表于 2012-12-8 09:40:08

RE:求助:STM32F407 RTC读日期 错误的问题

没有用过F4系列,你可以看看他里面处理的过程。

zoozo 发表于 2012-12-8 12:00:20

回复:求助:STM32F407 RTC读日期 错误的问题

这个可能是安分钟算的天数

lianxi47 发表于 2012-12-8 12:35:13

回复:求助:STM32F407 RTC读日期 错误的问题

回复第 3 楼 于2012-12-08 12:00:20发表:
这个可能是安分钟算的天数 

用的是官方的例程,直接从寄存器里面读出来的日期,难道是芯片的BUG?

废鱼 发表于 2012-12-8 16:55:25

RE:求助:STM32F407 RTC读日期 错误的问题

我看了一下源码,还有手册,读取应该是没有问题的。

wuxianshepin 发表于 2012-12-8 17:24:17

RE:求助:STM32F407 RTC读日期 错误的问题

单片机没问题的,应该是RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure)内部处理的问题

lianxi47 发表于 2012-12-8 20:54:34

回复:求助:STM32F407 RTC读日期 错误的问题

回复第 5 楼 于2012-12-08 16:55:25发表:
我看了一下源码,还有手册,读取应该是没有问题的。 

我在程序里,开放了一个50ms的定时中断,每50ms对日期寄存器进行一次读操作(仅读,不要数据),现在在主循环里,5S读一次日期,可以同步更新了。看样子还是寄存器值更新的问题,原因尚不明确

hpdell 发表于 2012-12-24 13:25:42

回复:求助:STM32F407 RTC读日期 错误的问题

 你好,请问你的stm32f4 的rtc功能时如何配置的,我的f4的rtc时钟始终都没有搞定!

crack-10394 发表于 2013-1-28 10:16:35

回复:求助:STM32F407 RTC读日期 错误的问题

我也遇到这个问题,三更半夜看手册困得东倒西歪也没搞定。后来搜到这地方有人提到这个问题,见最后一个回复:
http://bbs.ic37.com/bbsview-29425.htm
他说的对,我试过硬件复位一下读回来的就正确的,说明内部时间已经正确更新了。难怪RTC提供了直读内部计数器而不是读影子寄存器的功能。我再试试。

crack-10394 发表于 2013-1-28 10:33:24

回复:求助:STM32F407 RTC读日期 错误的问题

确认了一下,要先读时间RTC_GetTime(),然后再读日期RTC_GetDate(),这时候的日期是可以同步正常进位的。反过来则不行,问题主要出在过日进位那个点上。
很诡异的设计,那个帖子里提到了,但还没说太明白。手册和应用笔记里都没写这个行为。

Sem 发表于 2020-12-29 12:28:51

crack-10394 发表于 2013-1-28 10:33
确认了一下,要先读时间RTC_GetTime(),然后再读日期RTC_GetDate(),这时候的日期是可以同步正常进位的。反 ...

一语中的
页: [1]
查看完整版本: 求助:STM32F407 RTC读日期 错误的问题