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.

[参考译文] MSP432E411Y:MSP432E411Y 的 UART 中断

Guru**** 2587365 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/996895/msp432e411y-uart-interrupt-of-msp432e411y

器件型号:MSP432E411Y

您好!

我对 UART 中断有疑问。

我 通过以下过程得到了中断因子。

  

(1)获取 UARTMIS 寄存器的值

(2)设置为 UARTICR 并清除中断标志

(3)获取 UARTRSR 寄存器的值

(4)在 UARTECR 寄存器中置位0并将其清零。

 

当 UART 中断处理中的 UARTMIS 寄存器采集到该值时、该值为0x000080 (FEMIS)。

当我获得 UARTRSR 寄存器的值时、我得到了0x00000000。

从(1)开始、中断原因是 FEMIS、因此我认为在 UARTRSR 寄存器中设置 FEMIS (0x00000001)。

该过程是否有问题?

谢谢、

科基

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

    您好、Koki、

    您是否已经在您的广泛产品上运行 UART 示例代码并发现所有函数均正常工作?

    https://dev.ti.com/tirex/explore/node?node=ADlQUxtK5.llsv2QiWufHA__J4.hfJy__LATEST

    此致、

    现金 Hao

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

    您好、现金

    是的、我想知道获取 UARTRSR 寄存器接收状态的过程是否正确。

    谢谢、

    科基

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

    您好、Koki、

    此过程对我来说很好。 但是、我仍然建议您首先运行示例代码、以避免出现未预测的问题。

    此致、

    现金 Hao

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

    您好、Cash Hao

    这个采样(UART_ECHO)似乎是发送接收到的单个字符的过程、我认为不可能确认 UART 错误(组帧错误)。

    是否有任何好的方法来验证组帧错误的行为?

    谢谢、

    科基

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

    您好!

    你有更新吗?

    谢谢、

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

    您好,

    如果观察到任何 UART 错误、应在 UARTECR 寄存器中获取错误代码。 您可以通过检查 UARTECR 的位0来确认组帧错误。

    此致、

    现金 Hao

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

    您好!

    是的、我理解您所说的内容。

    但是、从示例代码来看、我似乎无法获得"组帧错误"。

    因为代码不会导致组帧错误。

    是否有任何好的方法来验证组帧错误的行为?

    谢谢、

    科基

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

    您好、现金

    请尽快答复。

    科基

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

    您好、Koki、

    好的、您现在正在尝试获得一个组帧错误。 我是否正确理解了这一点?

    此致、

    现金 Hao

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

    您好、现金

    请尽快答复。

    科基

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

    您好、Koki、

     基于帧错误的定义。

    UART  在预期的"停止"位时间没有看到"停止"位时、将检测到一个组帧错误。 由于"start"位用于标识传入字符的开头、因此其时序是对其余位的引用。 如果在需要"停止"位时数据线未处于预期状态(高电平)(根据 UART 置位的数据和奇偶校验位的数量)、UART 将发出一个组帧错误信号。 线路上的"中断"条件也会作为组帧错误发出信号。"

    如果要生成组帧错误、则需要发送数据而不使用停止位。

    此致、

    现金 Hao

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

    您好!

    在清零 UARTICR 之前、我得到了 UARTRSR 的值。

    但情况相同、UARTRSR 的值为0x00000000。

    (UARTMIS 寄存器的值为0x00000280)

    以下是由中断确认的器件源代码。

    e2e.ti.com/.../uart_5F00_interrupt-check-_2800_1_2900_.c
    谢谢、