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.

MSP430F5438: 关于中断的操作

Part Number: MSP430F5438

timerA,使用连续模式,意图是单独控制几个定时器,比如:
CCR0每秒执行一次,一直执行;
CCR1及CCR2独立控制,在启动后0.1秒关闭,用于状态灯的显示。代码:
 TA0CCTL0 = CCIE;
 TA0CCR0 = 4096; // 连续模式,8分频,4096为1秒
 TA0CTL |=TACLR+TAIE;
 TA0CTL |= TASSEL_1 + MC_2 + ID_3; // ACLK代码
使用两个中断:
#pragma vector = TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
 LPM3_EXIT;
 TA0CCR0 += 4096;
}

/*******************Timer_A3 中断服务程序***/
#pragma vector = TIMER0_A1_VECTOR
__interrupt void Timer_A(void)
{
 switch (__even_in_range(TA0IV...代码
配置完成后的执行代码,写了一个方法:
 void t1(){
 LED_BLUE_ON; 
 TA0CCR2 = TA0R + 410; 
 TA0CCTL2 |= CCIE;
 }代码

我现在的问题是,如果这个t1的方法,是在中断里进行的设置(TA0R+410),就是正常的,如果是在其它段中的调用,就不正常。
但是我这个功能是想在执行某些操作时,运行一次后立即停止,这个值也不能在中断里设置。
我想知道原因是什么,我应该怎么操作,在哪里配置这个值。