OpenEdv-开源电子网

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

F4的RTC设置日期时是不是写入很慢?

[复制链接]

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
发表于 2014-11-14 11:30:10 | 显示全部楼层 |阅读模式
5金钱
如题,F4的RTC设置时间和设置日期是用两个函数实现的,操作设置日期时明显感觉同步的时间比较长,大约4、5秒的样子。

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

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2014-11-14 11:53:32 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-11-14 21:47:21 | 显示全部楼层
我们F4的板子,设置后立即生效。你可以试试看。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
 楼主| 发表于 2014-11-15 08:32:16 | 显示全部楼层

回复【3楼】正点原子:
---------------------------------

RTC的初始化是跟板子的历程里一样的。


 case 5://【ok】写入STM32 RTC
{
s8 w;//计算中可能产生负值
u8 c,y,m,d;//计算星期使用

//蔡勒公式计算某年某月某日的星期
c = 21-1;//世纪,2001~2100为21世纪
y = t_box[0].dat;//年
m = t_box[1].dat;//月,3~14
d = t_box[2].dat;//日

if(m < 3)//如果是1、2,要看做去年的13、14月来计算
{
y -= 1;
m += 12;
}

w = y+(u8)(y/4)+(u8)(c/4)-2*c+(u8)(26*(m+1)/10)+d-1;
if(w < 0) w = w%7+7;//当出现负值时取模运算
else w %= 7;
if(w == 0) w = 7;

xSemaphoreTake(xQueueHandle_RTC, 0xffffffff);

RTC_DateStructure.RTC_Year    = t_box[0].dat;//1970-2106
RTC_DateStructure.RTC_Month   = t_box[1].dat;//0-11
RTC_DateStructure.RTC_Date    = t_box[2].dat;//(1:1-31)(2:1-28)(3:1-31)(4:1-30)(5:1-31)(6:1-30)(7:1-31)(8:1-31)(9:1-30)(10:1-31)(11:1-30)(12:1-31)
RTC_DateStructure.RTC_WeekDay = w;//1~7
RTC_SetDate(RTC_Format_BIN, &RTC_DateStructure);

RTC_TimeStructure.RTC_Hours   = t_box[3].dat;//0-23
RTC_TimeStructure.RTC_Minutes = t_box[4].dat;//0-59
RTC_TimeStructure.RTC_Seconds = t_box[5].dat;//0-59
RTC_SetTime(RTC_Format_BIN, &RTC_TimeStructure);

xSemaphoreGive(xQueueHandle_RTC);

printf("星期%d\r\n",w);
                
return;
}//break;

1、在里面计算了星期;2、有多线程信号量保护。
问题:时间和日期是同时写入的,但是奇怪的是如果我只修改了时间生效速度没问题;如果我修改了日期和时间,时间立刻生效,日期有相当大的延迟(4~5s)。如果屏蔽星期的计算了信号量的保护,结果和现在没有区别。

回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
 楼主| 发表于 2014-11-15 08:42:43 | 显示全部楼层
还有STM的RTC时钟的精度一直都调的不满意,2~3天时间快1分钟左右。STM的RTC时钟精度到底你能打到什么程度?不行的话只能用外部的时钟芯片了。(32.786khz晶振已接地)
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-11-15 12:30:41 | 显示全部楼层
精度看手册,RTC是可以校准的。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
 楼主| 发表于 2014-11-15 13:11:15 | 显示全部楼层
回复【6楼】styleno1:
---------------------------------
校准知道有两种方法:
1、定时器自动校准,暂没测试
2、手动校准,批量不现实
对于晶振问题,已经打算换有源晶振,然后再结合定时器自动校准,不知可否达到预期效果。
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-11-15 14:28:12 | 显示全部楼层
回复【7楼】solo:
---------------------------------
不清楚你的行业,我们通常就是批量校准。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
 楼主| 发表于 2014-11-16 19:56:54 | 显示全部楼层
回复【8楼】styleno1:
---------------------------------
如何批量校准?需要让它跑几天吗?
回复

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2014-7-31
在线时间
6 小时
发表于 2018-5-24 12:57:06 | 显示全部楼层
楼主的问题解决了,没有,我最近用F4 的RTC也遇到了同样的问题
回复

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2014-7-31
在线时间
6 小时
发表于 2018-5-24 13:01:15 | 显示全部楼层
正点原子 发表于 2014-11-14 21:47
我们F4的板子,设置后立即生效。你可以试试看。

我测试的在主函数中上电初始化的时候调用速度确实很快,不过一旦初始化完成,然后通过其他函数再修改的时候,就需要2-10S不等的时间才能修改完成,而且只有日期会慢,时间是立马就能修改成
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-5-25 01:54:25 | 显示全部楼层
吻云浩 发表于 2018-5-24 13:01
我测试的在主函数中上电初始化的时候调用速度确实很快,不过一旦初始化完成,然后通过其他函数再修改的时 ...

不存在这个问题啊
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-7 15:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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