| 
 
| 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;
 }
 }
 | 
 |