独闷闷网

 找回密码
 立即注册
搜索
查看: 3658|回复: 1
收起左侧

[求助] 为什么进入定时中断要先关闭中断再写程序?

[复制链接]
发表于 2014-7-26 08:15:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jianhong_wu 于 2014-7-26 08:19 编辑

风雪--重庆  提问:
鸿哥,为什么进入中断时,必须先清除中断标志,并且关闭中断,然后再写代码,最后出来时,记得重装初始值,并且打开中断?

鸿哥解答:
进入定时中断时,先关闭中断标志这一点相信大家都能理解,我就不解释了。网友争议最大的是为什么还要关闭中断?关闭了中断这段时间  定时器不是已经停止工作了吗?我现在一一解释如下:
(1)首先在这个问题上,我本人也不敢确定我的做法是最标准的,最正确的,我也不要求网友必须像我这样做,网友可以按照自己的方式来处理这个问题。
(2)我的这种做法是我多年来的使用习惯,我本人也不想再改变这种习惯,因为即使这种做法是有瑕疵的,它也不会影响到我的系统。即使因为这样使用,时间精度没有那么准,对我的系统也没有影响。所以我一直坚持这种写法。
(3)我回想了一下为什么我当初一开始就这样处理定时中断,是因为我担心单片机正在处理本中断函数时又发生本中断,那岂不是进入递归中断乱套了?实际上这种担心不一定存在,我只是担心而已。
(4)我印象中,有一次在一个小项目上,我进入定时中断的时候没有关闭中断是出了一点小问题,后来关闭中断再打开中断感觉能把问题解决了,所以我就坚持以后凡是进入定时中断都先关闭中断,到退出定时中断的时候再打开中断。
乐于分享,勇于质疑!
发表于 2014-7-28 16:30:31 | 显示全部楼层
鸿哥说的第三点 我也是一直在担心,但是会不会进入递归中断乱套就不懂
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-3-28 23:18 , Processed in 0.201946 second(s), 17 queries .

快速回复 返回顶部 返回列表