单片机型号是AT89LS52
串口中断优先级最高,即IP寄存器中的串口位置为1,其他位置为0.
请问当计时器0的中断服务函数运行时(中断优先级低于串口),来了一个串口中断请求,这时候高优先级的串口中断是否可以打断正在执行的计时器0的中断服务函数呢?
从程序反应的问题来看,应该是打不断,但是我们一个资深工程师说可以打断,也有工程师说在51中(不同于ARM)一个中断服务函数运行时是无法打断的(即使优先级低)。
有谁能确切的,准确的答案吗?
记住:如果系统在进入中断后,一般硬件自动屏蔽掉其他中断,就是全局中断标志位归零。
如果在低级中断代码中使能它,则可以响应高级中断。注意堆栈是否可能溢出。
C51中进入中断程序,其自带有将中断屏蔽的汇编,其它中断被禁止,如果想中断嵌套,在中断程序中可以将中断开启
如果没有禁止中断,是可以产生中断的....
但不知道用C实现的ISR是不是自动禁止了全局中断.....