[求助] cc2530定时器有误差!

yucai666   2014-9-9 13:12 楼主
我用的是Z-Stack Home 1.2.0,自己加的中断服务程序,中断服务程序如下!
HAL_ISR_FUNCTION( halTimer1Isr, T1_VECTOR )
{
  static uint16 dimmingDelay=0;
  HAL_ENTER_ISR();
  IRCON = 0x00;                  //清中断标志, 也可由硬件自动完成
        dimmingDelay++;
        if(dimmingDelay==100)
        {
           P0_6=0;
        }
        
        if(dimmingDelay==110)
        {
           P0_6=1;
           dimmingDelay=0;
        }         
     }
  HAL_EXIT_ISR();
}
上面是定时器1的中断程序,定时器1初始化为8分频,模模式,TICC0=0X00FF,也就是64us中断一次,正常的话P0_6应该是640US的低电平,用示波器测量低电平有正负30US的误差!请问各位大侠这是什么原因引起的,该如何解决!

回复评论 (4)

过来看看~~~~~~~~~~~
点赞  2014-9-9 14:49
会不会中断程序太长的影响;
点赞  2014-9-9 19:02
64us会不会太短了呀?楼主如果把中断间隔拉长,看还有没有这个问题。对于定时器,1*100 和10*10出来的结果精度可能不一样。
这孩子,成熟的象征,理智的典范。
点赞  2014-9-9 21:12
误差好大,spec是多少的?板极晶振有量过吗?
点赞  2014-11-11 11:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复