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:基本 ISR 问题。。 中断声明?

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/956568/msp430fr2355-basic-isr-question-break-statement

器件型号:MSP430FR2355

鉴于您必须启用中断、下面 UCRXIFG 和 UCTXIFG 中的 break 语句的值是多少?  如果我在 UCRXIFG 中没有中断并且没有启用 UCTXIE、那么这是否是有理由的?在 UCRXIFG 的情况结束时、我仍会返回?  我知道、在正常情况下、如果您没有使用中断陈述、您将会仔细检查所有情况、但考虑到此处使用了启用、那么中断似乎是不必要的??

#pragma vector=USCI_A1_vector //无线电通信
__interrupt void RF_ISR_USCIA1 (void)
{
switch (__evo_in_range (UCA1IV、USCI_UART_UCTXIFG))
{
USCI_NONE 案例:中断;
USCI_UART_UCRXIFG 案例:
*rxMssg = UCA1RXBUF;
rxMssg++;
rxCount++;
LPM3_EXIT;
中断;
USCI_UART_UCTXIFG 案例:
LPM3_EXIT;
中断;
默认值:break;
}
}

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

    > 如果我在 UCRXIFG 中没有中断并且没有启用 UCTXIE、那么我仍会在 UCRXIFG 的情况结束时返回?

    这不是 C 的工作方式--"情况"的结束不会导致隐式"中断"。 (有人可能会说"案例"从未真正结束。)

    也许你被名称"LPM3_EXIT"所迷惑了--这不会导致函数/ISR 的"退出"(返回),它只是在堆栈中摆动一些位。 在 CCS 中、您可以右键单击名称并"转到定义"以查看其功能。

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

    很抱歉,我仍然对您的回答感到困惑。。

    那么、您说的是、如果我没有上面 RXIFG 中的中断。

    如果 TXIE 被禁用并且 RXIE 被启用。 现在、我得到一个 RX 中断。  我将进入 RXIFG 并将通过 TXIFG 下降?

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

    是的。 使用此代码是良性的(执行 LPM3_EXIT 两次与一次相同)、但情况并非总是如此。

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

    谢谢