打印
[技术问答]

M261的定时器,偏差很大,600秒差不多10秒的误差,咋办?

[复制链接]
578|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nbiot|  楼主 | 2019-12-30 11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

M261的定时器,偏差很大,600秒差不多10秒的误差,咋办?
用了TIMER0作为定时器,采用内部高速时钟作为时钟源,系统时钟设置为4MHz.

void TMR0_IRQHandler(void)
{

          TMR0_COUNT++;
          
    TIMER_ClearIntFlag(TIMER0);
}


void TIMER0_INIT(void)
{
       /* setting take effect */

    TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, 1);
    CLK_SysTickDelay(50);

    /* Enable timer wake up system */
    TIMER_EnableWakeup(TIMER0);
    CLK_SysTickDelay(50);

    /* Enable Timer0 interrupt */
    TIMER_EnableInt(TIMER0);
    CLK_SysTickDelay(50);

    NVIC_EnableIRQ(TMR0_IRQn);

    /* Start Timer0 counting */
    TIMER_Start(TIMER0);
    CLK_SysTickDelay(50);

}

使用特权

评论回复
沙发
dongnanxibei| | 2019-12-30 22:42 | 只看该作者
代码不全啊,看不出来,你参考官方的例子试试。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:QQ 2419286292

82

主题

181

帖子

3

粉丝