首页 > 解决方案 > 定时器在预期时间的一半内发出中断

问题描述

我在模拟器模式下使用 MPLAB。我在 mplab 中使用“mplab code configurator”生成了源文件,并且我选择了振荡器作为“hfint1”,频率为 8 mhz。

定时器 0 已配置 10 秒(触发中断),但是当我运行代码时,我在“秒表”中观察到仅在 5 秒后才产生中断。如果我将计时器 0 设为 20 秒,则将产生 10 秒的中断。谁能告诉我确切的原因,为什么会这样。

标签: timerpicmplab

解决方案


您必须T0SC使用T0CON.

如果你想用 Fosc/4 T0SC 为你的定时器计时,应该是 010。

这表示:

T0CON1bits.T0SC = 0b010;

推荐阅读