quote:我在程序中的某一个时刻将中断允许起来,立即输出,然后定时4us,这样独立于主程序的中断将开始计时,4us后,当中断执行完成的时候将中断禁止。现在用示波器来看的话,就是从开始到结束的时间不会是严格的4us。我是这个意思,我不知道我的理解有没偏差!
就是这个原因。
立即输出固然能够比较快,但是允许中断并不能立即让定时中断开始延时。这和CPU要处理系统任务有关,受操作系统的调度。这就是说开始的时刻不是确定的。
鉴于一旦开始定时中断,两次中断的间隔还是比较准确的,你可以试试在第一次进入中断服务程序时发出立即输出指令,第二次进入时立即复位。