OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3440|回复: 9

STM32F030RCT6 RTC实时时钟误差

[复制链接]

77

主题

203

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1208
金钱
1208
注册时间
2017-8-25
在线时间
167 小时
发表于 2020-7-25 16:05:30 | 显示全部楼层 |阅读模式
3金钱
我用STM32F030RCT6配置实时时钟,时间能正常累加,但是时间长了就会有几分钟误差。这个哪位大神知道怎么解决。

以下是初始程序


RTC_InitTypeDef RTC_InitStructure;
  RTC_DateTimeTypeDef RTC_DateTimeStructure;
   
    PWR_BackupAccessCmd(ENABLE);

    RTC_Configuration();                         //ÅäÖÃRTC

    RTC_InitStructure.RTC_AsynchPrediv = AsynchPrediv;
    RTC_InitStructure.RTC_SynchPrediv = SynchPrediv;
    RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24;
    if(RTC_Init(&RTC_InitStructure) == ERROR)
    {
      while(1);                                  //³õʼ»¯Ê§°Ü
    }

    RTC_DateTimeStructure.Year = 20;
    RTC_DateTimeStructure.Month = 12;
    RTC_DateTimeStructure.Date = 1;
    RTC_DateTimeStructure.Week = 7;
    RTC_DateTimeStructure.Hour = Parameter.UserSet.Timesetdisplay.hour;
    RTC_DateTimeStructure.Minute =Parameter.UserSet.Timesetdisplay.Minute;
    RTC_DateTimeStructure.Second = 0;
    RTC_SetDateTime(RTC_DateTimeStructure);      //Ê״γõʼ»¯RTC(2016Äê6ÔÂ5ÈÕ ÖÜÆß 12:00:00)

    RTC_WriteBackupRegister(RTC_BKP_DR0, RTC_FLAG_BKP);


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

380

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3088
金钱
3088
注册时间
2015-10-17
在线时间
320 小时
发表于 2020-7-25 16:15:14 | 显示全部楼层
无解,如果要做很准的时间,要用专门的万年历芯片加超级电容。自己做做,就外部32.768k的晶体
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-7-25 18:22:18 | 显示全部楼层
精度可以实现就是比较麻烦,需要时钟校准,精度的校准和温度的补偿
回复

使用道具 举报

77

主题

203

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1208
金钱
1208
注册时间
2017-8-25
在线时间
167 小时
 楼主| 发表于 2020-7-27 18:43:30 | 显示全部楼层
三叶草 发表于 2020-7-25 18:22
精度可以实现就是比较麻烦,需要时钟校准,精度的校准和温度的补偿

校准是通过软件校准么
回复

使用道具 举报

3

主题

808

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3888
金钱
3888
注册时间
2017-3-7
在线时间
1694 小时
发表于 2020-7-27 19:03:56 | 显示全部楼层
感觉这么费劲不如联网,上个IOT
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-7-28 08:57:45 | 显示全部楼层
逍遥1 发表于 2020-7-27 18:43
校准是通过软件校准么

校准用的时钟校准仪
回复

使用道具 举报

8

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2018-12-21
在线时间
126 小时
发表于 2020-7-28 10:06:09 | 显示全部楼层
你先买一个精度最高的32.768KHz的晶体,我记得精度最高应该是5ppm左右,然后按照数据手册配置负载电容。然后实际工作测量频率,微调负载电容使其最接近32.768KHz就好。计时精度几乎完全取决于时钟源的精度,按照这个方向努力就行了。如果对低功耗没有要求,可以额外使用对应频率的有源温补晶振,那就没问题了,或者使用外部RTC芯片。
回复

使用道具 举报

12

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
金钱
437
注册时间
2014-10-21
在线时间
49 小时
发表于 2020-7-28 10:25:35 | 显示全部楼层
若可以连接网络的话,可以进行网络对时,不可以连接网络那就外部RTC芯片
回复

使用道具 举报

5

主题

269

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1053
金钱
1053
注册时间
2020-5-11
在线时间
253 小时
发表于 2020-7-28 17:31:53 | 显示全部楼层
我就是联网。每次搜网成功第一件事就是更新时间。
回复

使用道具 举报

77

主题

203

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1208
金钱
1208
注册时间
2017-8-25
在线时间
167 小时
 楼主| 发表于 2020-7-28 19:52:37 | 显示全部楼层
RTC初始化这句进不去是什么原因
QQ截图20200728195101.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 17:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表