This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

这样设置之后也能产生TimerA中断??

Other Parts Discussed in Thread: MSP430G2553

CCTL0 = CCIE;        // CCR0 interrupt enabled

TACTL = TASSEL_2 + ID_3 + MC_2;           // SMCLK/8,

_EINT();

程序运行能进入中断服务程序,不解啊,为啥,没有开TAIE也能产生中断

  • CCTL0 = CCIE;                             // CCR0 interrupt enabled

    这句就是开了CCR0中断

    _EINT(); 是打开了全局中断

  • 定时器中断确实没有打开,脉冲捕捉/比较器中断打开了,TAIE与CCIE是共享TAIV这个中断向量的,进中断后需要查询不同的中断标志进行不同中断的服务函数执行。

  • #include  <msp430g2553.h>

    void main (void)

    {

     WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

     P1DIR |= 0x01;

     TA0CCTL0 = CCIE;                             // CCR0 interrupt enabled

     TA0CTL = TASSEL_2 + ID_3 + MC_2;           // SMCLK/8, cont-mode

     _EINT();                                  // enable interrupts

     while (1);                                 // Loop

    }

    // Timer A0 interrupt service routine

    #pragma vector=TIMER0_A0_VECTOR

    __interrupt void Timer_A (void)

    {

    P1OUT ^= 0x01;

    }

    非常感谢你们的回答。

    上面是程序,因为我用的是TACCR0,我的中断向量是TIMER0_A0_VECTOR,不是TIMER0_A1_VECTOR,

    所以应该用不到TAIV。

  • #include  <msp430g2553.h>

    void main (void)

    {

    WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

    P1DIR |= 0x01;

    TA0CCTL0 = CCIE;                             // CCR0 interrupt enabled

    TA0CTL = TASSEL_2 + ID_3 + MC_2;           // SMCLK/8, cont-mode

    _EINT();                                  // enable interrupts

    while (1);                                 // Loop

    }

    // Timer A0 interrupt service routine

    #pragma vector=TIMER0_A0_VECTOR

    __interrupt void Timer_A (void)

    {

    P1OUT ^= 0x01;

    }

    非常感谢你们的回答。

    上面是程序,因为我用的是TACCR0,我的中断向量是TIMER0_A0_VECTOR,不是TIMER0_A1_VECTOR,

    所以应该用不到TAIV。

    我想是CCTL0 = CCIE;  开了CCR0中断,即使没有设置过CCR0,即CCR0为0,当TAR从FFFFH滚回 0 时,

    产生比较中断了