微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MSP430F5529 (八)实时时钟RTC

MSP430F5529 (八)实时时钟RTC

时间:11-28 来源:互联网 点击:

00、02:15:00等等时刻)进行一次闹钟。这只要将RTCAMIN设置成15即可实现上述功能要求。通过置位RTCAMIN的AE位和清零闹钟寄存器的所有其它AE位,就会使能闹钟。正常工作时,对应的闹钟标志位RTCCIFG就会在00:14:59到00:15:00、01:14:59到01:15:00、02:14:59到02:15:00等等时刻被置位。

注意:写时间时,请务必保证格式正确,否则会出现无法预知的错误;

此外,修改闹钟时间的时候,为了避免错误,请先清RTCAIE、RTCAIFG、AE位来暂停闹钟功能。

8.3.3读写日历模式下的RTC寄存器

因为系统时钟实际上是和实时时钟的时钟源是异步的,因此在进入实时时钟寄存器的时候要格外小心。

在日历模式下,实时时钟寄存器每秒钟更新一次。为了防止在更新的时候读取实时时钟数据而造成错误数据的读取,系统设立了一个禁止读取的区域。每次RTC寄存器更新的那一刹那,左右1/256s被划为禁止读写的区域。RTCRDY位用来指示这个时间区域。RTCRDY置0时,表明处于这一区域;置1时表明在这一区域之外,可以发生读写。

一个简单而安全读取实时时钟寄存器的方法是利用RTCRDYIFG中断标志位。设置RTCRDYIE使能RTCRDYIFG中断。一旦中断使能,在RTCRDY位上升沿的时候将会产生中断,致使RTCRDYIFG被置位。这样,我们几乎有一秒钟的安全时间去读写任一个寄存器。当中断得到响应的时候,RTCRDYIFG会自动复位,当然也可以软件复位。

8.3.4RTC中断表

(1). 每一个中断标志都配有相应的中断使能。

(2). 请注意:RTCTE定义的时间事件(计时模式和日历模式不同)

(3). 对于RT0PSIFG和RT1PSIFG标志位,举一个例子:

通过RT0IP位,可以选择地让RT0PSIFG位用来生成间接中断。在日历模式下,RT0PS的时钟源是32768Hz的ACLK,所以通过RT0IP控制中断间隔可以产生16384Hz、8192Hz、4096Hz、2048Hz、1024Hz、512Hz、256Hz和128Hz的时间间隔。设置RT0PSIE位可以使能中断。

8.3.5RTC校准

(1). 把P2.6设定为输出状态,并声明有特殊功能;

P2.6为RTCCLK的输出引脚

(2). 通过设置RTCCTL3寄存器中的RTCCALF来设置P2.6输出信号的频率;

(3). 精确测量该频率,然后计算误差;

(4). 最后设置RTCCTL2寄存器,来调节频率增高或降低多少。

PPM表示百万分之一所输出的频率;

注意:校准设置发生改变时,在RTCCLK引脚观察512Hz和256Hz的输出频率是不会有影响的。而校准发生改变时,1Hz的输出频率是有影响的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top