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.

[参考译文] TMS320F28377S:SCIB 通信问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/590290/tms320f28377s-scib-communication-problem

器件型号:TMS320F28377S

您好!

我的理解有问题,我真的不明白为什么。 它只会不时发生并阻止通信(它停止接收数据)。

我使用 RS485收发器接收来自其他器件的数据请求。 在大多数情况下、我能够毫无问题地接收和发送数据、但有时会进入某种状态、停止接收新数据。

这是我在组合被阻止时对数组所做的操作:

数据长度应为7字节、从 SOF 0x01开始、到 EOF 0x04结束。

尽管接收到的最后一个字节是0x04,但计数器( contaComB )没有复位,我无法获取任何其他数据。

我是否应该观察和/或重置任何标志?  

atached 是 scibRxFifoIsr 和 scib 配置。

e2e.ti.com/.../Configurations.txt

感谢你的帮助。

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

    布鲁诺

    是的、您应该看到一些标志!  SCIRXST 寄存器包含 SCI 接收器的状态标志、当您的代码停止时是否 设置了任何标志? 如果某些标志被置位、唯一复位的方法就是清除 SCICTL1寄存器中的软件复位。

     这些寄存器的完整说明可在 SCI 参考指南中找到。

    此致、
    Cody

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    布鲁诺
    您是否仍有此问题?
    此致、
    Cody
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Cody、

    我尝试复制该错误、以便分析结果并与您讨论寄存器值。
    我一有东西,我就会回来。

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

    您好、Cody、

    随附的是寄存器的打印屏幕。

    当处于正常运行状态时、仅设置 rxWAKE 寄存器。

    当我遇到此错误时、是否有任何标志或标志应该清除? 如果是,我应该如何重新启动通信?  

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    布鲁诺
    FE 是"帧错误"、这通常意味着违反了起始位或停止位时间。
    BRKDT 是"中断检测"错误、表示 SCIRX 线路被保持在低电平至少10位时间。(这表示一个停止位丢失)

    要复位 SCI 模块、应清除、然后设置 SCICTL1的"SW RESET"位。

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

    您好、Cody、

    据我从数据表中了解、SW 复位会保持低电平、直到再次写入高电平、从而恢复正常工作。

    需要多长时间才能保持这种状态? 是否有最短的时间?  

    谢谢

    此致、

    布鲁诺