用ccr0 ccr1两个中断控制led灯 不能成功

2019-03-24 10:16发布

#include <msp430.h>               

int main(void) {

    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
    DCOCTL=DCO0;
    BCSCTL1=RSEL0+DIVA0;
    P1DIR |= BIT0+BIT6;
    P1OUT|=BIT0+BIT6;
    TACTL|=TASSEL0+TACLR+MC0;
    TACCTL0|=OUTMOD_7;
    TACCTL0|=CCIE+TAIE;
    CCR0=600;
    CCR1=60;
    _EINT();
  

}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer_A1(void)
{
    if(TAIV==2)
    {
    P1OUT^=BIT6;
    }
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A0(void)
{
    P1OUT^=BIT0;
}
代码如上 ccr0中断能正常产生 控制小灯闪烁 但是ccr1中断控制的小灯常亮
这是什么原因

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
wq012315
2019-03-24 17:04
找到原因了 timer0计时器的寄存器名改一下就可以了
比如 TA0CCTL0 不能写为 TACCTL0
TACTL 改为TA0CTL
不知道为什么求高手解答  
程序也有错误 忘记开CCTL1的中断

一周热门 更多>

相关问题

    相关文章