MSP430F5529 (八)实时时钟RTC
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的输出频率是有影响的。
MSP430F5529实时时钟RT 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)