打印

STM32的RTC有趣问题

[复制链接]
3105|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jtingwang|  楼主 | 2008-6-10 20:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RTC的prescaler设置为7999,即每200ms(7999/40KHz)闹钟计数一次.

将RTC_ALARM的计数器设置为1,RTC每211ms--213ms闹钟一次;
将RTC_ALARM的计数器设置为2,RTC每408或406ms闹钟一次;
将RTC_ALARM的计数器设置为3,RTC每602ms闹钟一次;
将RTC_ALARM的计数器设置为4,RTC每798或800ms闹钟一次;
将RTC_ALARM的计数器设置为5,RTC每992或996ms闹钟一次;
将RTC_ALARM的计数器设置为6,RTC每1.19s闹钟一次;
将RTC_ALARM的计数器设置为7,RTC每1.39或1.38s闹钟一次;

每次闹钟都有误差,且误差有一个由大到小再到大的变化过程。
有没有什么方法,能让RTC精确一点呢?
沙发
jtingwang|  楼主 | 2008-6-12 18:42 | 只看该作者

用到RTC的人不多...

这个问题没人顶啊,估计是用到RTC的人不多...

使用特权

评论回复
板凳
香水城| | 2008-6-12 18:46 | 只看该作者

请问你是如何设置RTC的时钟源?

STM32的RTC有三种时钟源:
1)HSE除以128
2)LSE
3)LSI

不管哪一种,你选的那一种的频率是多少?

使用特权

评论回复
地板
香水城| | 2008-6-12 21:18 | 只看该作者

简单看了一下,不知道楼主是怎么测量的?

根据STM32技术参考手册上的说明,RTCCLK经过分频得到一个RTC_Second脉冲,俗称秒脉冲,32位的可编程计数器对这个秒脉冲进行计数,当计数器的内容与RTC_ALR寄存器的内容相等时,产生闹钟信号。

按照楼主的说法,我估计你的秒脉冲是200ms,设置RTC_ALR=1,会在第一个计数器=1时产生闹钟信号,但是下一次闹钟信号要等232*200ms=858,993,459秒后才可能到,不知楼主是如何测量的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

171

帖子

1

粉丝