如何在msp430g2553中启用嵌套中断?

时间:2016-11-13 10:36:14

标签: interrupt-handling msp430

我想在msp430上启用嵌套中断,因为我想在Timer的ISR中使用UART。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

每当msp430微控制器即将开始执行中断处理程序函数时,它首先要做的是禁用全局“中断启用”标志,该标志位于状态寄存器r2中。这有效地禁止了默认的中断嵌套。

要解决此问题,请通过在中断处理函数开始时将寄存器标志设置回1来启用中断。为了简化语法,实际上有一条eint指令:

asm("eint");

通常,emnabe还有特定于编译器的宏,可以避免编写汇编代码。这应该适用于GCC和IAR:

__enable_interrupt();

(请不要滥用中断嵌套。在大多数情况下,绝对不需要它。改变你的设计几乎肯定是一个更好的想法。)