关于中断的两个问题.. 求助~~

2019-03-24 19:53发布

刚学单片机没多久.. 有些问题想请教下..

1. 程序里设置了一个外部中断,一个计时器中断, 假如程序正在运行外部中断时, 刚好也出发了计时器中断, 那么计时器中断是否要等到外部中断内的代码都执行完后再执行?
2.当程序里设置了多个中断时, 每次进入某个中断时,关闭总中断(结束时候在打开)是否合理? 这样处理会不会引起丢失其他可能发生的中断? 怎样处理比较合理?

请大家帮帮忙.. 先谢谢了~ 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
display8989
1楼-- · 2019-03-25 16:02
顶一楼的
ddllxxrr
2楼-- · 2019-03-25 18:58
刚学单片机没多久.. 有些问题想请教下..

1. 程序里设置了一个外部中断,一个计时器中断, 假如程序正在运行外部中断时, 刚好也出发了计时器中断, 那么计时器中断是否要等到外部中断内的代码都执行完后再执行?
答:这要看你设的计时器中断同外部中断谁的优先级高,若定高就先执行定,当然外部中断被压栈保存。然后再出栈执行。
2.当程序里设置了多个中断时, 每次进入某个中断时,关闭总中断(结束时候在打开)是否合理? 这样处理会不会引起丢失其他可能发生的中断? 怎样处理比较合理?

答:这样处理不好,你点灯不让别人点灯,太霸道了,做人也不能这样做地。

3.理论上来讲,很可能会出现相冲突的情况。所以想了解一下相冲突的时候如何处理才好。。

答:把优先级搞明白,同级是不能抢同级地,把一些不重要的按排到下一级,就是后执行
辛昕
3楼-- · 2019-03-25 20:50
这就是为什么 外部中断的优先级(51而言,不特别设置优先级的情况下而言)
外部中断的优先级永远高于同号的定时器中断。

不定期碰上定期,相冲突的可能性很大。
但是,一起中断就一起中断,你怕什么呢?
外部中断的一般比较紧急。CPU只是跑出去执行完它,再回来,没什么可担心的。

这就看你的程序怎么安排流程了。
单独讨论这个问题没有意义,我想知道你面对的问题具体是什么
leang521
4楼-- · 2019-03-25 21:12
2.当程序里设置了多个中断时, 每次进入某个中断时,关闭总中断(结束时候在打开)是否合理? 这样处理会不会引起丢失其他可能发生的中断? 怎样处理比较合理?

答:这样处理不好,你点灯不让别人点灯,太霸道了,做人也不能这样做地。

这样是可以的,而且很多人也这么用,只要控制好中断处理时间即可。这样做的好处是可以避免中断无响应,坏处是可能无法及时响应高级中断

3.理论上来讲,很可能会出现相冲突的情况。所以想了解一下相冲突的时候如何处理才好。。

答:把优先级搞明白,同级是不能抢同级地,把一些不重要的按排到下一级,就是后执行

并不是后执行,而是无法剥夺。
lingxiabadu
5楼-- · 2019-03-25 22:42
其实是前几天弄了个盖革管 试着做个简单的 辐射探测仪。。
通过盖革管的原理 使每次接受到一次辐射时 产生一次外部中断,计时器中断时用来计时,最后根据一些公式计算并显示辐射值。。
在我看来 外部中断和计时器中断同样重要。。 不知道如何处理中断冲突才好。。
lingxiabadu
6楼-- · 2019-03-26 01:59
 精彩回答 2  元偷偷看……

一周热门 更多>