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.

[参考译文] MSP430FR2433:在执行 ISR 时、确定端口1的其他中断序列

Guru**** 2943400 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1018244/msp430fr2433-while-executing-an-isr-determining-the-sequence-of-other-interruptions-at-port-1

器件型号:MSP430FR2433

当 ISR 处理 P1.0上的中断时、在 P1.2和 P1.3上会快速而连续地发生中断。 能否确定最后两次中断的顺序?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这取决于您是否在 P1.0 ISR 中禁用中断。 如果您不在 P1.0 ISR 中禁用中断、它将在您处于 P1.0 ISR 中时响应任何其他中断。

    此致、

    现金 Hao

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    速度有多快? 只要您重新启用诸如 Cash Hao11这样的中断、您就可以保存时间戳或设置标志:

    volatile char flagP12WentFirst = 0;

    volatile char flagP13WentFirst = 0;

    P1.2中断

    if (flagP13WentFirst = 0) flagP12WentFirst = 1

    P1.2中断

    if (flagP12WentFirst = 0) flagP13WentFirst = 1

    请注意这些中断的执行速度。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这仅在计时完美时有效。

    P1.0触发、ISR 开始并执行一个开关(P1IV)、有望在另一个中断发生之前。 该代码位的第一步是再次启用全局中断。 现在、如果发生另一个中断、它将被处理。

    假设将触发 P1.1。 保存状态并返回到开关(P1IV)需要一些时间、此时另一个引脚可能已触发中断。 它们由 P1IV 按照优先顺序而不是按发生顺序提供服务。

    对时间敏感、因此完全没有用处来决定首先发生的情况。 您将需要一些外部硬件来解决该问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正如我所说的,这取决于他"快速"的意思。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keith、David 和 Cash:

    感谢您回答我的问题。