51单片机中断问题求助
时间:10-02
整理:3721RD
点击:
1.如果主程序执行过程中,来了两个中断A、B,A的优先级高,这时会去执行A中断程序,A中断程序执行完成后是去执行B中断程序,还是直接返回主程序B中断程序执行不到了
2.还是两个中断A、B,A的优先级高,现正执行A中断程序,现在来了B中断,由于A优先级高继续执行A中断程序,A中断程序执行完成后,会执行B中断程序么?
2.还是两个中断A、B,A的优先级高,现正执行A中断程序,现在来了B中断,由于A优先级高继续执行A中断程序,A中断程序执行完成后,会执行B中断程序么?
这两个问题终归是中断的问题,按你的假设条件,AB中断同时触发,AB两个中断被挂起,CPU应该先进入A中断服务,然后等A执行完了,倘若在A中断服务函数内没有取消B的中断,会继续进入B的中断服务函数继续执行。
下个问题,属于中断嵌套,51可以支持两级嵌套,你说的这个是可以的,A执行完继续回到B。
@dongyumin
没注意过这样的细节啊
2楼说的很对
先执行完了高级的中断后,再执行低级的中断,再回到主函数吧
支持2楼说的
理论上应该是先执行优先级高的,在执行低的,前提是执行低的中断前没被取消。不过还真没遇到过这样的问题~~
谢谢各位,是我太钻牛角尖了,这样的问题遇到再说
有机会还是多问问好,我也想过不过没太注意,看到你们交流,我理解了不少
谢谢大伙!