微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 是否可以在定时器中断服务程序中关闭该定时器再打开?

是否可以在定时器中断服务程序中关闭该定时器再打开?

时间:10-02 整理:3721RD 点击:
定时器时钟只要不关闭就一直运行,但是如果中断服务程序处理过多语句,可能会导致丢失中断。那么是否可以在处理语句时先关闭定时器,然后处理语句,再重新赋定时器初值,打开定时器,此时完成了中断服务程序还能再回到主程序中的断点处吗?
另外还有一种解决办法不知道是否可行,当处理完中断服务程序中的语句之后,紧接着重新再赋一遍定时器初值,这样是不是相当于定时器重新开始计时,就不把中断服务程序中的功能性语句运行时间包括在内了?

可以这么做,但除非必须这么做,否则不要这么做!

谢谢,我用proteus仿真了一下,发现我说的第一种在自身的中端服务程序中开关定时器不管用。就是虽然定时器关了,初值重新弄赋了,然后再打开也可以,也重新回到断点了,但是回到主程序断电后定时器就不再计数了。
第二种再重新赋初值可以使定时器重新从起始开始计数。
最后想请教一下,为什么最好不要再重新赋值?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top