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.

[参考译文] MSP430FR2355:是否在 PIV 内自动清除端口中断?

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/969954/msp430fr2355-do-port-interrupts-get-cleared-automatically-within-the-piv

器件型号:MSP430FR2355

我在用户手册中,似乎没有找到上述问题的答案....

当一个端口上的 IRQ 发生时、这是否会在 ISR 内的 switch 语句内自动清除一次?

您能否在输入 switch 语句之前看到 IFG?

谢谢

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

    当 PxIV 寄存器被读取时、一个被使能的 PxIFG 位被清零(优先级顺序)。 [参考 UG (SLAU445I)第8.2.6节、最后一段旁边]。 也可以用"&=~"显式清除它。 它不会通过进入 ISR 自动复位。

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

    那么、根据您的最后一条陈述、我可以在进入开关之前捕获标志、对吧?  请参阅下面的内容...在我离开 ISR 后、p2flags 会提醒我?

    #pragma vector=port2_vector
    __interrupt void volumeButtons_ISR (void)
    {
    p2flags = P2IFG;
    开关(__evo_in_range (P2IV、6))
    {
    案例4://P2.1
    P2IES ^= BIT1;
    中断;
    判例6://P2.2
    P2IES ^= BIT2;
    中断;
    默认值:
    中断;
    }
    TB1R = 0;
    TB1CTL |= MC__UP;
    P2IE &=~0x06;
    P2IFG &=~0x06;
    }
    

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

    是的。

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

    谢谢