[技术问答]

新唐M0用库函数定时器使用的注意事项

[复制链接]
1000|1
手机看帖
扫描二维码
随时随地手机跟帖
williamzjy|  楼主 | 2016-7-27 14:59 | 显示全部楼层 |阅读模式
用定时器0时,无论是外部是12M还是倍频后的时钟HCLK,定时很精确
但是用定时器1,2,3时会出现定时不准确的现象,(注意 本人把库函数倍频参数计算部分做了修改改为16M的,原来库函数是8M的)
在外部16MHZ下,取外部晶振时钟
time0  500ms
time1  700ms
time2  700ms
time3  700ms
在外部16MHZ下,倍频后48MHz HCLK下,选48MHz 的HCLK
time0  500ms
time1  246ms
time2  246ms
time3  246ms
不知道原因出在哪里,求教各路高手,不胜感激
void TIMER_Configuration()
{
   DrvTIMER_Init();                                                                                                               

        DrvSYS_SelectIPClockSource(E_SYS_TMR3_CLKSRC,2);                                       

        DrvTIMER_Open(E_TMR3,1000,E_PERIODIC_MODE);                                                               
       
        DrvTIMER_SetTimerEvent(E_TMR3,1,(TIMER_CALLBACK) Timer3_Callback,0);       

        DrvTIMER_EnableInt(E_TMR3);                                                                                               

        DrvTIMER_Start(E_TMR3);                                                                                               
}
测试时,只把本段代码中的3换成0,1,2,示波器看到的结果如上所示
稳稳の幸福| | 2016-7-27 21:44 | 显示全部楼层
看着时钟系统的结构图做。

使用特权

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

本版积分规则

10

主题

72

帖子

8

粉丝