【嵌入式】MSP430系统实时时钟RTC学习日志(完善中)

本文详细介绍了MSP430单片机的实时时钟RTC(Real-Time Clock)的初始化、设置与应用,包括时钟源选择、时钟信号ACLK、MCLK、SMCLK的配置,以及实时时钟中断和低功耗模式。通过实例展示了如何设置RTC闹钟和间隔时间中断,并提供了读取和设置RTC时间的代码。同时,讨论了系统时钟初始化的注意事项,如LFXT1和XT2的选择与切换,以及低功耗设置的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

MSP430系统实时时钟RTC

【时钟初始化】系统时钟初始化需要注意的问题

MSP430F149时钟源选择(部分转)

MSP430 系统时钟 ACLK、MCLK、SMCLK

 【MSP430时钟】MSP430 5438时钟系统介绍

MSP430X5XX的时钟系统与低功耗模式

MSP430X5XX的时钟系统与低功耗模式


MSP430系统实时时钟RTC

2012.1.11

读取实时时钟:

1、  RTCRDY 为0时,不能取读取实时时钟

RT0PS源于ACLK,为了实时时钟日历的正确的运行,ACLK必须是32768Hz。(易出错)

定时:

一、每小时闹一次:每一小时的15分钟闹一次:

1、将RTCAMIN设置成15;2、设置RTCAMIN的AE位和清除闹钟寄存器的其它所有AE位

3、AF会在:00:14:59到00:15:00、01:14:59到01:15:00、02:14:59到02:15:00等等时刻被置位。

二、在每天040000时刻闹:

1RTCAHOUR位置位成4;2、设置RTCHOUR的AE位和复位闹钟寄存器的所有其它AE位

3、AF就会在03:59:59到04:00:00时刻被置位。

三、在每天063000时刻闹:

1、 将RTCAHOUR设置成6,将RTCAMIN 设置成30。

2、设置RTCAHOUR和RTCAMIN的AE位,即可使能闹钟

3、 AF位将会在每一个06:29:59到06:30:00的过渡时刻被置位

四、在每周二 063000时刻闹:

1、  RTCADOW位设置成2,RTCAHOUR设置成6,RTCAMIN将要被设置成30。

2、  设置RTCADOW、RTCAHOUR和RTCAMIN的AE位,闹钟即被使能。

3、  AF位将会在RTCDOW位从1 到2的过渡后和06:29:59到06:30:00的过渡时刻被置位。

五、在每月第五天的063000时刻闹:

1、  RTCADAY位将要设置成5,RTCAHOUR位将要被设置成6,RTCAMIN位将要被设置成30。

2、  设置RTCADAY位、RTCAHOUR位和RTCAMIN位的AE位,闹钟即被使能。

3、  AF位将要在06:29:59到06:30:00的过渡时刻和RTCADAY等于5的时刻被置位。

实时时钟模式下的间隔时间中断:

RTCCTL01 = RTCBCD+RTCMODE+RTCTEVIE+RTCAIE;

RTCMODE: 0:Counter  1: Calendar

置位RTCAIE 位就使能了时钟中断功能

置位RTCTEVIE 位就使能时间间隔中断功能,置位RTCTEVIFG

RTCTEV00 分钟跳变

01 小时跳变

10 每天凌晨(00:00)

11 每天正午(12:00)

以上均在RTCMODE=1模式下。

//天中断。置位RTCRDYIE 位会使能中断,RTCRDY 位触发实时时钟中断RTCRDYIFG

计数器模式中的实时时钟中断

时间间隔中断:

实时时钟中断(RTCTEVIFG)

配置成8位、16位、24位或者32位中的一种溢出时引发一个触发事件。触发事件可由RTCTEV位进行选择

置位RTCTEVIE位使能中断

在计数器模式中,三个中断源是可用的,其分别是RT0PSIFGRT1PSIFGRTCTEVIFG。RTCAIFG位和RTCRDYIFG位被清除。RTCRDYIE和RTCAIE位可以忽略。

1通过设置RT0IP位,可以选择使RT0PSIFG位用来生成间歇中断。

2在计数器模式,RT0PS位时钟源,源自于ACLK或者SMCLK,也可以是基于ACLK或者SMCLK时钟源的2分频、4分频、8分频、16分频、32分频、64分频、128分频和256分频作为时钟源。

3设置RT0PSIE位可以使能中断。

1通过设置RT1IP位,可以选择地让RT1PSIFG位用来生成间歇中断。

2在计数器模式下,RT1PS位时钟源,源于ACLK、SMCLK或者是RT0PS位的输出,也可以是以上时钟源的2分频、4分频、8分频、16分频、32 分频、64分频、128分频和256分频后产生新的时钟源作为时钟。

3设置RT1PSIE位可以使能中断。

一个简单而安全读取实时时钟寄存器的方法是利用RTCRDYIFG中断标志位。置位RTCRDYIE位使能

RTCRDYIFG中断。一旦中断使能,在RTCRDY位上升沿的时候将会产生中断,致使RTCRDYIFG被置位。在这

一点上,这一应用几乎有完整的一秒钟安全地去读取任一个实时时钟寄存器。这一同步的处理方式防止在时间

跳变的过程中读取时间值。当中断得到响应的时候,RTCRDYIFG会自动复位,也可以软件复位。

在计数器模式下,RTCRDY位保持复位。可以不关心RTCRDYIE位,并且RTCRDYIFG维持复位。

资料:

基于MSP430单片机时钟芯片RTC-4553温度误差软件补偿[机电之家行业下载站]

设置RTC时间:

 void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;             // Stop Watchdog Timer

  RTCCTL01 = RTCBCD+RTCHOLD+RTCMODE+RTCTEVIE+RTCAIE;
                                        // RTC enable, BCD mode,
                                        // alarm every Minute,
                                        // enable RTC interrupt
  // Init timeRTCSEC =  0x00;                       // Set Seconds
  RTCMIN =  0x32;                       // Set Minutes
  RTCHOUR = 0x10;                       // Set Hours

  // Init date
  RTCDOW =  0x03;                       // Set DOW
  RTCDAY =  0x30;                       // Set Day
  RTCMON =  0x04;                       // Set Month
  RTCYEAR = 0x2008;                     // Set Year

 RTCCTL01 &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值