|
请问2132怎么精确计时到ms。
用msp430 f2132芯片,想精确计时到ms级别。
结果测试时间误差很大,计时比实际实际多近1/10,另外还有一个问题,缺省smclk的时钟是1Mhz的吗?
代码如下:
void TimerAInit(void)
{
TACTL=TASSEL_2+TACLR+MC_0+ID_0; //选择时钟源为SMCLK,
TACCTL0 = CCIE;
TACCR0=1000;
TACTL |= MC_1;
msTime =0;
sTime =0;
}
unsigned short getMsTime()
{
return msTime;
}
unsigned short getSTime()
{
return sTime;
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer0Process(void)
{
msTime++;
if(msTime ==1000)
{
sTime++;
msTime=0;
}
}
main()
{
unsigned short msTmp =0;
unsigned short sTmp =0;
WDTCTL = WDTPW + WDTHOLD;
_BIS_SR(GIE);
TimerAInit();
while(1)
{
deciMsTmp = getDeciMsTime();
msTmp = getMsTime();
sTmp = getSTime();
};
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|