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),就是正常的,如果是在其它段中的调用,就不正常。
但是我这个功能是想在执行某些操作时,运行一次后立即停止,这个值也不能在中断里设置。
我想知道原因是什么,我应该怎么操作,在哪里配置这个值。