【发布时间】:2022-11-24 02:09:00
【问题描述】:
当中断服务程序正在执行时,是否需要清除全局中断(例如使用 cli(); 命令)以防止另一个 ISR 被执行或排队?
例如,如果正在执行外部中断 INT0,并且在执行时将再次触发同一外部中断。该中断是否会在第一个中断完成后排队等待执行?
如果在当前中断期间执行以下代码,是否会阻止中断排队,或者我是否需要清除中断队列寄存器?
ISR(someISR_vect){
cli();
some code...
sei();
}
【问题讨论】:
标签: interrupt interrupt-handling atmega