通用定时器实验

2019-10-16 04:56发布

今天学习了通用定时器实验,产生很大困惑:       1,例程中定时器计数时间是500ms产生一次中断,我把中断事件的延时时间加长了改为3s,按照这样的理论,中断事件的执行时间大于计数器计数时间,这样中断还没有执行完又会产生中断,又要进入中断事件,这种情况下根本没有时间执行主函数后面的死循环,但是实验效果好像并不是这样的,中断事件依然是3s中执行一次,死循环里的LED0依然在执行,不是说在执行中断事件时,主程序不是被挂起了吗?

       2.例程中计数器计数500ms,采用自动重装,不知道自动重装开始于何时,是计数器计数完就产生中断,还是执行完中断事件后再重新装载。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
ouxili
2019-10-16 21:14
dengxingling8 发表于 2016-12-2 19:33
楼主说的现象我还没有测试,不过有个说法是有问题的:
1,例程中定时器计数时间是500ms产生一次中断,我把 ...

我的语言表达有问题,我的意思是对于同一个中断,当中断标志被置1时,程序会先去清除中断标志,然后去处理中断事件,但是中断事件执行时间有点长,比如加长延时。这样导致中断事件还没有执行完,定时器计数完毕又把中断标志位置1,又需要等待处理中断。同一个中断事件肯定不会打断自身的。

一周热门 更多>