📄 msp430x54x_rtc_03.c
字号:
//******************************************************************************
// msp430FG5438 Demo - Basic Timer, Toggle P1.0 Inside ISR, 32kHz ACLK
//
// Description: Toggles P1.0 by xor'ing P1.0 inside of a RTC ISR.
// ACLK provides the RTCPS clock source. LED toggles every 126ms.
// ACLK = REFO = ~32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz
//
//
// msp430FG5438
// -----------------
// /|\| |
// | | |
// --|RST |
// | |
// | P1.0|-->LED
//
// M Smertneck
// Texas Instruments Inc.
// April 2008
// Built with CCEv3.2 IAR Embedded Workbench Version: 3.42A
//******************************************************************************
#include <msp430x54x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // Set P1.0 as output
RTCCTL01 = RTCTEV_3;
RTCPS0CTL = RT0PSDIV_7; // Set RTPS0 to /256
RTCPS1CTL = RT1IP_2 + RT1PSIE + RT1SSEL_3;// Set RT1IP to /4, enable
// RT1PS interrupt and select
// RTOPS output as clock
_BIS_SR(LPM3_bits + GIE); // Enter LPM3, enable interrupts
}
// Basic Timer Interrupt Service Routine
#pragma vector=RTC_VECTOR
__interrupt void RTC_ISR(void)
{
P1OUT ^= 0x01; // Toggle P1.0
RTCCTL01 &= ~RTCTEVIFG;
RTCPS1CTL &= ~RT1PSIFG;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -