[STM32F1] 求助,频繁读写BKP备份寄存器,导致RTC误差大。

[复制链接]
1366|17
 楼主| qqtfh 发表于 2022-12-31 11:27 | 显示全部楼层 |阅读模式
如题,因为需要用到BPK备份寄存器RAM,平均一秒读写一次备份RAM,RTC 12小时的竟然误差34秒。一开始我以为是STM32F103的RTC太差了。于改修改PCB,使用DS1302做RTC。没想到误差更大,1小时就误差60秒。DS1302我使用过非常多,其它地方并没有这样的问题。经过反复对比,我终于发现,只要不读写备份RAM就没有问题。只要一读写,无论读写多少次都会造成误差。读写得越多,误差越大。求解决办法,求指点。
Bowclad 发表于 2023-1-1 16:39 | 显示全部楼层
减少写入次数
一周一天班 发表于 2023-1-1 17:49 来自手机 | 显示全部楼层
既然加了ds1302,那么stm32的rtc也用上,但只做数据保存,不理会时间。
 楼主| qqtfh 发表于 2023-1-2 09:59 | 显示全部楼层
一周一天班 发表于 2023-1-1 17:49
既然加了ds1302,那么stm32的rtc也用上,但只做数据保存,不理会时间。

我试一下这样RTC还会不会受影响,但是这样的话,RTC电池,要同时给2个芯片供电。耗电量会增大。
yeates333 发表于 2023-1-5 14:58 | 显示全部楼层
DS1302有时间的误差的吗?              
updownq 发表于 2023-1-9 13:12 | 显示全部楼层
为什么要读写这个数据呢?              
小小蚂蚁举千斤 发表于 2023-1-9 15:38 来自手机 | 显示全部楼层
减少写入的次数。
jkl21 发表于 2023-1-10 20:10 | 显示全部楼层
你使用的32K的晶振吗?              
Pretext 发表于 2023-1-11 09:55 | 显示全部楼层
读写BKP备份寄存器为什么会导致RTC出问题?
朝生 发表于 2023-1-11 09:55 | 显示全部楼层
BKP备份寄存器和内部RTC应该没有直接的联系吧?更别说外部RTC了。
芯路例程 发表于 2023-1-11 09:56 | 显示全部楼层
我感觉是读写备份RAM的程序有问题。贴出来看看呗。
 楼主| qqtfh 发表于 2023-1-12 15:25 | 显示全部楼层
朝生 发表于 2023-1-11 09:55
BKP备份寄存器和内部RTC应该没有直接的联系吧?更别说外部RTC了。

你大概没看明白我说的意思。内部RTC和BKP是共用时钟LSE或LSI时钟的。还有RTC和BKP是共用备份电源的。怎么说没有直接联系?我说外部RTC,不是指内部BKP和外部RTC的关系。因为换成外部RTC了,时钟备份电源和时钟晶振也换到外部RTC了。所以,也换成了外部备份RAM。就是DS1302的32字节的RAM。
朝生 发表于 2023-1-12 16:41 | 显示全部楼层
qqtfh 发表于 2023-1-12 15:25
你大概没看明白我说的意思。内部RTC和BKP是共用时钟LSE或LSI时钟的。还有RTC和BKP是共用备份电源的。怎么 ...

懂了,那就只能研究为什么读的时候会导致RTC出现误差了。
fengm 发表于 2023-1-12 17:09 | 显示全部楼层
这个为什么不使用内部的RTc?              
1988020566 发表于 2023-1-19 13:43 | 显示全部楼层
这个怎么可能会有问题呢。              
jackcat 发表于 2023-1-19 14:23 | 显示全部楼层
这个是晶振的问题吧。              
vivilyly 发表于 2023-1-21 16:09 | 显示全部楼层
bkp只是保存参数而已。              
SantaBunny 发表于 2023-2-3 18:46 | 显示全部楼层
可以先减少写入的次数,再看看有没有时间的误差。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

174

帖子

2

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