我想问下,单片机开两个中断,没有优先级,会是什么情况?

来源:百度知道 编辑:UC知道 时间:2024/07/07 21:24:33
比如开定时器0和定时器1中断,定时时间不同步,肯定会有中断优先响应问题,我想问的是当两个同时到中断时间时,定时器0进入中断,那么定时器1会在定时器0中断后再响应吗?

当中断级别相同时,按照自然优先级进行中断响应,T0的自然优先级高于T1。

如果T0、T1同时出现中断申请标志,系统将响应T0的申请;
当T0的中断服务结束了、返回主程序后,如果T1的中断申请标志依然存在,系统会响应T1的申请。

如果T0、T1不是同时出现中断,系统响应先出现的申请;
当中断服务结束了、返回主程序后,如果令一个中断申请标志依然存在,系统会响应该申请。

如果TO和T1是同一级别,就不会出现“T0能够中断T1的中断程序”的现象。

一般芯片都有默认中断响应优先级的,比如51优先级别为外部中断0,定时器0,外部中断1,定时器1,串口中断..........
定位51内核分析吧
看你的定时单位了哦,比如定时单位为 秒及其以上。
则定时中断0后,肯定过不了1S钟,直接响应定时中断1..............
定时0、1都为ms级的话,中断0的语句不超过1ms,则可响应定时中断1
如果是51内核的,12M晶振的,中断0执行指令不超过100个周期就可以先响应定时中断0,然后响应定时中断1............
1ms的级别如果不是特别场合,还是能满足做产品的要求的。

没有优先级,也有系统默认优先级,系统默认优先级:
外部中断0,定时器0,外部中断1,定时器1,串口中断,
没设定优先级,默认状态下,定时器0的优先级比定时器1的要高,因此同时进入中断会屏蔽定时器1的中断,定时器1正在中断,但定时器0来了中断,会停止定时器1,进入定时器0的中断!