如果ISR正在运行,另一个中断会发生什么?第一个中断会被中断吗?第二个中断会被忽略吗?还是在第一个ISR完成后触发第二个中断?
编辑 我忘记在问题中加入了(但是我在标签中加入了),我想问的是Atmel AVR的工作原理。
如果ISR正在运行,另一个中断会发生什么?第一个中断会被中断吗?第二个中断会被忽略吗?还是在第一个ISR完成后触发第二个中断?
编辑 我忘记在问题中加入了(但是我在标签中加入了),我想问的是Atmel AVR的工作原理。
对于硬件中断,优先级中断控制器芯片(PIC)是专门设计的硬件芯片,旨在使设备向CPU呈现自己的地址变得简单。PIC还评估连接到它的设备的优先级。现代PIC也可以编程以防止生成低于所需级别的中断。
ISR(XXX_vect, ISR_NOBLOCK)
{
...
}
XXX_vect是MCU类型的有效中断向量的名称。
此外,查看应用笔记以获取有关Atmel AVR上中断的更多信息。
代码设置“全局中断使能”位; 没有它,不会发生任何中断。
当某件事情引起中断时,将设置一个标志。
在注意到中断标志后,将清除“全局中断使能”位。
运行适当的ISR。
重新设置“全局中断使能”位。
现在回到步骤2,除非在ISR期间已经设置了中断标志; 然后回到步骤3。