单片机C语言,如何使用多个中断。

一个程序中我写了一个定时器中断和一个外中断,外中断为优先级。我在想当定时中断触发时,它怎么知到调用哪个中断程序乃??我写的那个刚好能正确调用,但是当我触发外中断时,结果程序没有运行为预期结果,数码管上乱显示,但当我终止外中断后,定时中断那部分运行结果卟受影响,数码管上可以得到预期结果。这是怎么一回事啊???

优先级高的中断在执行时,如有低优先级中断到达,低优先级被挂起。等高优先级结束后,再处理低优先级。
优先级低的中断在执行时,如有高优先级中断到达,开始执行高优先级中断。等高优先级结束后,再返回处理低优先级。
如果你一直在不断地触发外部中断,那等于让程序不断地执行外部中断,就没时间去处理显示了。追问

那两个中断是怎样知道,他们该调用哪一个中断程序的乃??还要在一个程序里使用多个中断该怎样处理中断函数乃??

追答

中断调用那个程序 是你自己程序决定的啊
开始就要列出来的,你这程序难道没有列出来吗?
直接处理就好,没有什么特殊的。

追问

我晕!我写了两个中断子函数。但中断的时候该调用哪一个,是这个意思。

追答

该调用哪一个,是由你自己编程决定的啊!
别人怎么会知道,你应该调用哪一个?!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-18
中断到了之后根据中断子程序的中断向量号自动找到自己要执行的程序,你只需要把中断向量号给好就是了
相似回答