大家好、团队、
从中断例程返回时、MCU 将从堆栈加载状态寄存器和程序计数器。
如果在 ISR 期间有另一个中断标志被置位(来自任何模块)、则在退出 ISR 和不同的弹出指令从 ISR 中恢复之前的状态时、 在启动新的挂起中断之前执行任何代码、或者在程序计数器递增并执行新指令之前开始新的 ISR。
如果您可以参考用户指南中的行为、这将有所帮助。
谢谢、
日落
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、团队、
从中断例程返回时、MCU 将从堆栈加载状态寄存器和程序计数器。
如果在 ISR 期间有另一个中断标志被置位(来自任何模块)、则在退出 ISR 和不同的弹出指令从 ISR 中恢复之前的状态时、 在启动新的挂起中断之前执行任何代码、或者在程序计数器递增并执行新指令之前开始新的 ISR。
如果您可以参考用户指南中的行为、这将有所帮助。
谢谢、
日落
我很确定在 ISR 之间执行一条指令。 我没有找到章节和节、但中有一个提示、例如 SLAU144J 3.4.6.20 (EINT 指令):
注:启用中断
使能中断指令(EINT)之后的指令一直被执行、即使是
当中断被启用时、一个中断处理请求被挂起。
在实践中、可以观察到这一点。 当我、嗯、朋友意外地忘记清除 ISR 中的中断源时、整个程序可以被观察到执行、真的(!) 慢慢。