打印

内置RTC误差

[复制链接]
1837|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
午夜粪车|  楼主 | 2018-12-7 14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
spark周| | 2018-12-7 14:20 | 只看该作者
然后呢?你是怎么应对这个的呢

使用特权

评论回复
板凳
午夜粪车|  楼主 | 2018-12-7 14:25 | 只看该作者
觉得这东西本质就是个计数器,只要32768晶振没问题,不可能差多少

使用特权

评论回复
地板
liliang9554| | 2018-12-7 14:28 | 只看该作者
晶振没问题?

使用特权

评论回复
5
午夜粪车|  楼主 | 2018-12-7 14:33 | 只看该作者
可以保证晶振确实没问题。现在板子都做好了,这可怎么办?好后悔没选择外置RTC。诸位有遇到这个问题吗?

使用特权

评论回复
6
zhaoxqi| | 2018-12-7 14:36 | 只看该作者
要精准,就不要用内部RTC。用外置晶振吧

使用特权

评论回复
7
huangchui| | 2018-12-7 14:40 | 只看该作者
你的这个误差确实有点大,MSP430F5438A内部的RTC_A可以做到更小的误差的

使用特权

评论回复
8
jiajs| | 2018-12-7 14:45 | 只看该作者

MSP430F5438内部带一个RTC_A模块,有以下功能:
1. MSP430F5438 内部带RTC_A模块,该模块可以提供实时时钟和日历功能,也可以配置成普通的计数器。
2. RTC的计数增加的时钟源可以使ACLK,SMCLK或者是他们分频后的时钟.
3. 使能RTCMODE选择日历模式,可以选择BCD或十六进制方式提供秒,分,小时,星期,日期和年份。
4. RTC_A提供一个闹钟系统,用户可编程控制的闹钟
5. RTC_A的寄存器每秒更新一次
6. 软件复位不会影响RTC的寄存器,上电复位需要重新设置.

使用特权

评论回复
9
zhanghqi| | 2018-12-7 14:49 | 只看该作者
会不会是对内部寄存器操作时,引起误差?

使用特权

评论回复
10
午夜粪车|  楼主 | 2018-12-7 14:52 | 只看该作者

我的RTC是单片机内置的,但晶振是外置的,而且我换了两个了,这个晶振在别的地方用过,一天的误差不超过2秒的。

使用特权

评论回复
11
zhenykun| | 2018-12-7 15:10 | 只看该作者
什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
12
午夜粪车|  楼主 | 2018-12-7 15:28 | 只看该作者
我的程序对RTC的操作频率很低的,只有在需要的时候才会读日期和时间。

使用特权

评论回复
13
wyjie| | 2018-12-7 15:33 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
14
午夜粪车|  楼主 | 2018-12-7 15:36 | 只看该作者
这个是我的程序,主要是对时钟ACLK的配置。我就怕出问题,所以配置的很简单,请高手帮忙看看:

ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz

void CLK_Init(void)
{
    // Initialize LFXT1
    P7SEL |= 0x03;                                    // Select XT1
    UCSCTL6 &= ~(XT1OFF);                     // XT1 On
    UCSCTL6 |= XCAP_1;                        // Internal load cap

    do
    {
        UCSCTL7 &= ~XT1LFOFFG;                // Clear XT1 fault flags
    }while (UCSCTL7&XT1LFOFFG);               // Test XT1 fault flag
   
    UCSCTL6 &= ~(XT1DRIVE_3);                 // XT1 now stable, reduce strength
}

配置好XT1LF以后,ACLK会默认使用XT1LF的。  

使用特权

评论回复
15
jlyuan| | 2018-12-7 15:40 | 只看该作者

http://www.cnblogs.com/fanyabo/archive/2012/06/17/2552989.html
你看看这个,有代码

使用特权

评论回复
16
yszong| | 2018-12-7 15:51 | 只看该作者
估计实际寄存器操作太多了。

使用特权

评论回复
17
dengdc| | 2018-12-7 15:54 | 只看该作者

实在不行就认为调误差,就是把你多出来的那0.6秒人为得减去,不就OK了。

使用特权

评论回复
18
heweibig| | 2018-12-7 15:58 | 只看该作者

实在不行就认为调误差,就是把你多出来的那0.6秒人为得减去,不就OK了。

为了省成本吗,谁让你这么火急火燎的做出来了呢。

使用特权

评论回复
19
午夜粪车|  楼主 | 2018-12-7 16:02 | 只看该作者
不是为了省成本,是为了电路简单 。 我们用过其他单片机,也是内置RTC,从没出现这么差的精度,只是低功耗不如430,这才改了,没想到啊没想到…………

使用特权

评论回复
20
heweibig| | 2018-12-7 16:05 | 只看该作者
只要是使用外部的晶振,内置的RTC根本没有问题,不会影响精度的。

使用特权

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

本版积分规则

867

主题

10194

帖子

3

粉丝