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.

msp430g2553的定时器A的计数器模式不准,定时不准



BCSCTL1 = CALBC1_1MHZ; /* Set DCO to1MHz */
DCOCTL = CALDCO_1MHZ;
//延时函数1M为1秒

BCSCTL2 &= ~SELS;//SMCLK的来源来自DCOLCK
/*SMCLK的分频系数置为1*/
BCSCTL2 &= ~(DIVS0 | DIVS1);

TACTL=TASSEL_2+MC1+TACLR+ID_2;//定时器时钟源为SMCLK,up,4分频,清零
CCTL0|=CCIE;//使能比较器中断
CCR0=50000-1;//计数器终值,起初结果是49999

这是我对定时器A的设置,使用了SMCLK时钟来源,SMCLK来源于DCOLK、不分频,所以SMCLK是1Mhz.然后进行4分频,定时器的频率就变成了250khz,我

CCR0设置的是50000,按理说每进入一次中断是0.2s,我检测25次按理说经过了5s,为什么实际时间在6s~7s.

感谢