Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

MSP430G2433定时器Timer0_A1中断问题

$
0
0

各位,我也是最近做项目才碰到的问题,Timer0_A1比较模式中断问题,比如下面代码不能进入中断,但是改为Timer0_A0可以进入中断

硬件是自己设计的,没问题,因为硬件上有LED,所以我写了个下面的实验代码来测试Timer0_A1

#include<msp430g2433.h>
#define  LED_R  BIT0      //RED LED(P2.0)
void main()
{
     WDTCTL = WDTPW + WDTHOLD;
     BCSCTL1 = CALBC1_1MHZ;           // Set DCO
     DCOCTL = CALDCO_1MHZ;
     P2DIR |= LED_R; //LED
     P2OUT &= ~LED_R;
     TACTL |= TASSEL_2 + MC_1 + ID_0;
     TA0CCTL1 |= CCIE;
     TA0CCR1 =10000;
     while(1);
}

static unsigned int Timer0_A1_Counter =0;

#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer0_A1()
{

     if(TAIV ==2)

     {
          Timer0_A1_Counter ++;
          if(Timer0_A1_Counter ==50)
          {
               Timer0_A1_Counter =0;
               P2OUT ^=LED_R;
          }

     }
}

正常工作应该是LED灯1Hz闪烁,但是却不工作。以上代码定时器初始化的时候,如果(TA0CCTL1 |= CCIE; TA0CCR1 =10000;)这处改为(TA0CCTL0 |= CCIE;TA0CCR0 =10000;)并且中断向量(TIMER0_A1_VECTOR)改为(TIMER0_A0_VECTOR),也就是Timer0_A0是没问题的,可以正常闪烁

试了一天了都不行,也查了很多资料,网上也偶有反映这个问题的,谢谢!!


Viewing all articles
Browse latest Browse all 3634

Trending Articles