MSP430G2开发板学习(十):定时器A溢出中断(32768KHZ时钟)
/******************************************************************************
* 定时器A,翻转P1.0LED,定时器A溢出中断服务程序,32KHZ的辅助晶振
* 翻转P1.0的频率是0.5HZ,使用可TAICV中断向量。
* 辅助时钟是32768HZ,定时器A时钟也是32768HZ
// ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO
******************************************************************************/
#include
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 禁止看门狗
P1DIR |= 0x01; // P1.0 设置为输出
TACTL = TASSEL_1 + MC_2 + TAIE; // ACLK, contmode, interrupt辅助时钟,计数模式,中断
_BIS_SR(LPM3_bits + GIE); // LPM3 w/ 中断
}
// Timer_A3 Interrupt Vector (TAIV) handler 检查TAIV
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch( TAIV )
{
case 2: break; // CCR1 not used
case 4: break; // CCR2 not used
case 10: P1OUT ^= 0x01; // 定时器溢出,翻转P1.0
break;
}
} |