MDC012170 发表于 2012-8-17 12:44:55

MSP430怎样给CCR1和CCR2赋值这样才能保证中断?

我的程序如下
#include <msp430x14x.h>
void main(void)
{
                                     //停止看门狗定时器
    WDTCTL = WDTPW + WDTHOLD;                              
   P2DIR |= BIT0+BIT4+BIT7;// 设 P1.0 为输出
   P2OUT |= BIT0+BIT4+BIT7;
    CCTL1=CCIE;
    CCTL2=CCIE;
   //CCR0=1000;                                 // ACLK, 定时器 A 计数模式,且开中断功能
   CCR1=1000;
   CCR2=1000;
   TACTL = TASSEL_1 + MC_1 + TAIE;
                                    
   _BIS_SR(LPM3_bits + GIE);//进入 LPM3 低功耗模式和开总中断允许
}

#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)   //应用 switch 语句来处理多中断源的向量
{                        
       CCR1=1000;
       CCR1=1000;
    switch( TAIV )
                                    //向量列表通过 case 语句来分多中断源的入口
   {
                                 
      case 2: P2OUT ^= BIT7;break; // CCR1 比较/捕获寄存器的中断入口,入中断,LED闪闪烁
                                 
                                 
      case   4: P2OUT ^= BIT4; break; // CCR2 比较/捕获寄存器的中断入口,入中断,LED闪闪烁
                           
   case 10: P2OUT ^= BIT0;break;//定时器 A 在计满 16 位时将产生计数溢出中断 进入中断,LED闪闪烁
                        
         
}
}

MDC012170 发表于 2012-8-17 13:08:59

不用大家解决了!我已经调好了!是忘了开启CCTL0=CCIE;而且CCR0的值要大于CCR1和CCR2的值!!
页: [1]
查看完整版本: MSP430怎样给CCR1和CCR2赋值这样才能保证中断?