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.

MSP430FR5959 如何实现软中断(也称为中断陷阱、伪中断)

由于MSP430系列单片机不支持软中断功能,但是经查阅资料,可以自己利用汇编编写程序模拟中断的实现过程,现请问大神们谁做过相关的部分,可否共享一下相关代码,谢谢

  • 你好。 MSP430单片机不支持中断嵌套。 你这里说的软中断不知道你想实现哪种功能,附录两篇帖子供参考:

    Software Interrupt

    http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/137409

    What is the best way on MSP430 to trigger a Reset (POR) by Software?

    http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/47762

  • 软件中断只是操作系统的概念,唯一的作用是做一些优先级的考量。对于单线程CPU来说意义并不大。。

    如果你只是想在硬件中断程序中,将一部分耗时或者不重要的程序分出来,不再block其他硬件中断的执行,手动打开全局中断就可以了_EINT();

    (默认进入任何硬件中断后,都是_DINT()的,此时再来其他硬件中断不会嵌套,而是排队执行。你手动打开_EINT()之后,等于允许了其他中断的嵌套。)

    如果需要的优先级多,可以考虑引入OS。

  • 楼上正解。可以用os或者类似os的方法实现伪中断。

    如果是外设硬件方面的优先级问题,可以考虑中断嵌套