dadongleilei 发表于 2014-11-21 20:35:42

MSP430F149定时器B定时1秒不准

大家好,现在用到149的定时器B,时钟源选择ACLK,接的是32768Hz的晶振,但是按公式算出来计算1秒定时中断很不准呢,请大家帮我看下设置有问题吗?
void TimerB_Init(void)
{
TBCTL = TBSSEL_1 + TBCLR +ID_3;   // ACLK, clear TAR,divide by 8
TBCCTL0 |= CCIE;                         // CCR0 interrupt enabled
TBCCR0 = 4096;                         //1s,4096/
TBR=0x00;
TBCTL |= MC0;                         // Start Timer_B in Increase mode

}

jxchen 发表于 2014-11-23 12:25:56

能否提供完整程式碼,及如何確認不準

s1j2h3 发表于 2014-11-24 11:34:17

初始化无所谓,TBCCR0值随便。即使有偏差,也是一次性的。当然,你写的肯定有问题的。应该是TBCCR0 = TBR + 4095;
重点是中断中的是如何处理的。
看你定怕代码,应该是对MSP430的中断处理机制没有了解

dadongleilei 发表于 2014-11-24 13:27:26

谢谢楼上回复,因为用PIC的芯片比较多,430的芯片确实用的少,原来中断程序里的操作有影响到定时器,现在我调节了32768晶振边上的电容,同时不对其输入分频,这样计数单位为32767,现在基本是比较准的了
页: [1]
查看完整版本: MSP430F149定时器B定时1秒不准