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.

[参考译文] TMS320F280039C:SCI_RXSTATUS_BREAK

Guru**** 2471920 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1476482/tms320f280039c-sci_rxstatus_break

器件型号:TMS320F280039C

工具与软件:

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1436954/tms320f280039c-sci-break-detect-condition

 -上一主题

尊敬的 TI 专家:

我找到无法 在代码中检查 SCI_RXSTATUS_BREAK 标志的原因。

如果我使 SCI 中断(使 SCI 数据线路保持低电平超过82.5us)、FE (组帧错误)和 PE (奇偶校验错误)位(有时 FE 和 OE 和 PE 位)的设置速度将快于 BRKDT 位。

这就是 Break_Flag 我的代码中未启用 DSSI_DSSI 的原因。

    if((SCI_getRxStatus(SCIA_BASE) & SCI_RXSTATUS_BREAK)) // DSSI Break -> Configuration Phase
    {
        DSSI_Break_Flag++;
        SCI_clearInterruptStatus(SCIA_BASE, SCI_INT_RXRDY_BRKDT);
        SCI_performSoftwareReset(SCIA_BASE);
        return;
    }
    else if((SCI_getRxStatus(SCIA_BASE) & (SCI_RXSTATUS_ERROR | SCI_RXSTATUS_PARITY | SCI_RXSTATUS_OVERRUN | SCI_RXSTATUS_FRAMING)))
    {
        SCI_performSoftwareReset(SCIA_BASE);
        SCI_resetChannels(SCIA_BASE);
        return;
    }

如果我断开 SCI、同时发生 FE&PE&OE 错误是否正常?

如果我想仅在 SCI 中断中使用 BRKDT 错误、是否有任何方法可以避免 FE&PE&OE 错误?

在 TI 库中、没有禁用 FE、PE 和 OE 错误的函数。

请检查并提供建议、

谢谢。

此致、

的符号。 Jaehoon

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

    我能否获得有关此问题的最新信息?

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

    杰勋,道歉的反应延误。 我正在研究这个问题。 以下信息取自关于 SCI 的 F28003x TRM 一章:

    • SCIRXST.FE 字段说明指出、在标准用例中、FE 将在 BRKDT 之前标记。 这是已知的。
    • SCIRXST.RXERROR 是(BRKDT、FE、OE 和 PE)错误标志的逻辑"或"运算。 如果设置 SCICTL1中的 RX ERR INT ENA 位、则此位会触发中断。
    • SCIRXST.BRKDT 字段说明指出、当该位被置位时、不会设置 RXRDY、并且不能设置进一步的中断

    听起来在您的情况下、由于 FE 错误、在设置 BRKDT 位之前会先进入 SCI ISR。 我将继续寻找一种方法来避免这种情况、但到目前为止我尚未发现任何其他类似情况。

    不过 中、器件 TRM 第25.11.1节中断检测确实提供了一种使用 FE、PE 和 SCIRXBUF.SAR 位确定中断状态的替代方法。 这种替代解决方案应该适合您的情况。

    此致、
    Jason Osborn