'
在中断服务执行完后要运行一条返回指令例如reti,只有这条指令mcu内硬件才会撤消中断标志.也就是说在进入中断后至执行reti 之前mcu不会再响应同级或低级的中断,但会响应更高级的中断申请.
'
个人觉得说法不完全正确,欢迎拍砖.
对于51单片机,除串口是软件清中断请求标志位,其它的都是在响应的同时清中断请求标志位,如果是52系列,则t2中断请求标志也是软件清的.
但是,进入isr的同时,会封闭中断优先级触发器(除非有高级中断进来),这样就不会在isr里被打断,在执行reti的同时,解除封闭,这样同级或低级的中断才能再次触发.
lz的情况我前面说过,中断响应的同时,中断请求寄存器被硬件清零,所以中断执行过程中,再有中断源信号进来,只会置相应的中断请求寄存器.在当前isr执行完毕后,才会再次检查中断请求,因此无论在执行isr的过程中中断源触发多少次,结果都只会造成中断请求标志置位,而不会累计.isr结束后再次相应这个中断,造成了多个中断只被执行一次~~~