Microchip
直播中

王璐

8年用户 490经验值
私信 关注
[问答]

计时器0中断计算时间不匹配该怎么办?

嗨,我对计算计时有点困惑。我的理论和实践并不相符。也许有人给我一个提示发现错误。我有PIC 18F46K20,时钟是64兆赫,国际奥委会。time0用于将RD1上的LED以1赫兹、半秒、半秒的频率切换。另一个端口RD0被切换以测量ISR TMR0的定时。配置是:F(osc)=64MHzPrescaler=1:8PreLoad=0xD8(216)CallBack Intervall=25000在理论上,这应该导致500.0ms的TMR0中断时间为20us,调用回调例程的次数为25.000次。在实践中,TMR0中断每22,5us调用一次(不像预期的那样计算20us),并且回调例程具有0562xxx秒的定时。计时是用逻辑分析仪测量的。我的问题是,我在配置/计算上有错误还是有规律的偏差?我推测这是对芯片和内部OSC的常规公差。我说的对吗?欢迎任何提示,谢谢!TMR0 ISR的源代码

回帖(3)

王思敏

2019-9-2 14:49:49
您好,您的意思是验证OSC频率和偏差吗?
举报

崔明华

2019-9-2 14:57:03
在引脚RA6上测量OSC频率/2,这样你至少知道你的路由输出频率。如果你使用Crystal.,输入频率。比做数学。这清楚吗?祝你今天愉快
举报

李维兴

2019-9-2 15:15:15
您所发布的代码段不显示中断功能。发布一个完整的最小可构建的源代码来演示问题。一个问题是,您的代码没有通过将值重新加载到TMR0.什么值是TMR0_INTERRUPT_TICKER_FACTOR来解释经过的时间?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分