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.

[参考译文] MSP432E401Y:无法从 UARTRSR 获取 UART 接收状态的问题

Guru**** 2544120 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1002067/msp432e401y-problem-that-uart-receive-status-cannot-be-get-from-uartrsr

器件型号:MSP432E401Y

您好!

我对 UART 中断有疑问。

发生 UART 中断、并在中断处理期间检查 UARTRSR。 它被设置为0x000080 (FEMIS 位被置位)、我知道由于组帧错误而发生了 UART 中断。

之后、我用 UARTICR 清除了帧错误中断。

我最终得到了 UARTRSR 的值、但得到了0x00000000。

这是正确的行为吗?

(我假设 FE 位将设置为0x00000001、因为由于组帧错误而产生中断。)

谢谢、

科基

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

    您好!  

    我认为可以通过向 UARTRSR/UARTECR 写入任何内容或写入新数据来执行清除操作。 请检查您在此期间是否有此类操作。  

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

    你(们)好、李

    [引用 userid="342635" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1002067/msp432e401y-problem-that-uart-receive-status-cannot-be-get-from-uartrsr/3702507 #3702507">我认为可以通过将任何内容写入 UARTRSR/UARTECR 或传入的新数据来完成清除操作。 请检查您在此期间是否有此类操作。  [/报价]

    ①使用 UARTECR 清除 FE

    ②新数据即将到来

    如果我没有同时执行①和②、UARTRSR 的值是否为0x00000001 (FE 已置位)?

    当前、UARTRSR 的值为0x00000000。

    (我知道我还没有做过①的事)

    谢谢、

    科基

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

    是的、它应该是0x00000001。 但是、当产生中断时、SR 值是正确的、对吧? 因此、中断清除可以通过您的测试清除 SR。 我稍后会检查它。  

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

    你(们)好、李

    正如您所说的、我在清除 UARTICR 前得到了 UARTRSR 的值。

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

    (UARTMIS 寄存器的值为0x00000280)

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

    e2e.ti.com/.../uart_5F00_interrupt-check.c

    请继续检查。

    谢谢、

    科基

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

    你(们)好、李

    你有更新吗?

    科基

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

    您好!  

    我找不到您的代码有任何问题。 请检查中断条目处的寄存器(设置断点)。 如果寄存器为0、请检查是否产生了错误。 如果不是0、请检查导致清除的行。 我们可以通过该方法来解决这种情况。

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

    你(们)好、李

    [引用 userid="342635" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1002067/msp432e401y-problem-that-uart-receive-status-cannot-be-get-from-uartrsr/3715344 #3715344"]。 如果不是0、请检查导致清除的行。 我们可以通过该方法来解决这种情况。

    操作结果汇总在 Excel 中。

    e2e.ti.com/.../Result.xlsx
    因此、当发生 UART 错误并在断点处停止时、UARTRSR 中设置了正确的值、但通过执行步骤将其清除。

    谢谢、

    科基

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

    您好!

    你有更新吗?

    谢谢、

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

    您好、Koki、

    当您读取 SR 时、它将自动清零。 我将检查驱动程序和内核。 请稍等片刻。   

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

    你(们)好、李

    如果您有任何更新、请告诉我。

    谢谢、

    科基

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

    您好!

    你有更新吗?

    谢谢、

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

    你(们)好,Koki

    由于 Hawken 现在已离开 TI、我现在将继续关注此问题。 这里有一些问题

    您在下面提到的值为0x000080的寄存器是什么?

    [引用 userid="465179" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1002067/msp432e401y-problem-that-uart-receive-status-cannot-be-get-from-uartrsr "]它设置为0x000080 (设置了 FEMIS 位)

    您能否帮助介绍如何配置 UART? 像启用奇偶校验一样、您使用了多少个停止位、波特率是多少?

    请捕获我可以帮助您检查其状况是否正确的波形。

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

    您好、Gary

    [引用 userid="319723" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1002067/msp432e401y-problem-that-uart-receive-status-cannot-be-get-from-uartrsr/3734318 #3734318"]由于 Hawken 现在已离开 TI、我现在将继续关注此问题。 这里有一些问题

    好的、回答此表需要很长时间、因此请尽快回复。

     

    我想知道下面提到的驱动程序库规格。

    [引用 userid="465179" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1002067/msp432e401y-problem-that-uart-receive-status-cannot-be-get-from-uartrsr/3723693 #37233693"]

    操作结果汇总在 Excel 中。

    Result.xlsx
    因此、当发生 UART 错误并在断点处停止时、UARTRSR 中设置了正确的值、但通过执行步骤将其清除。

    [/报价]

    [引用 userid="342635" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1002067/msp432e401y-problem-that-uart-receive-status-cannot-be-get-from-uartrsr/3727892 #3727892"]当您读取 SR 时、它将自动清除。 我将检查驱动程序和内核。 请稍等片刻。   [/报价]

    请转至 Hawken、调查并告诉我们驱动程序库的规格。

    我希望您研究的内容如下。

    无论规范是否如此、当 UARTDR 的 OE 到 FE (Bit11到 Bit8)被重写时、它是否反映在 UARTRSR 中并被清除。

    有关详细信息、请参阅 Excel 文件。

    谢谢、

    科基

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

    你(们)好,Koki

    最好展示一下您能否帮助介绍如何配置 UART? 像启用奇偶校验一样、您使用了多少个停止位、波特率是多少?

    请捕获我可以帮助您检查其状况是否正确的波形