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.

为啥我的定时器没有启动?



我用F5510, 利用例子程序,时钟是7.3728M

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
TA0CCTL0 = CCIE; // CCR0 interrupt enabled
TA0CCR0 = 50000;
TA0CTL = TASSEL_2 + MC_1 + TACLR; // SMCLK, upmode, clear TAR

__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, enable interrupts
__no_operation(); // For debugger
}

// Timer0 A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
P1OUT ^= 0x01; // Toggle P1.0
}我没有得到想要的效果,调试发现我的TA0R没有运行,我把TA0CTL = TASSEL_2 + MC_1 + TACLR; // SMCLK, upmode, clear TAR改为TA0CTL = TASSEL_2 + MC_1只是TACLR位变1为0,TA0R也没有运行,请问什么情况?