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.

[参考译文] TMS320F2800157:未接收到 LIN 帧并且 SCIGCR1寄存器未更新

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1350580/tms320f2800157-lin-frame-not-received-and-scigcr1-register-is-not-updating

器件型号:TMS320F2800157

您好!

根据我们的项目要求、我们将使用 LIN 协议传输某些信息、使用的控制器为 F2800157。

我们无法发送和接收 LIN 帧、我们已将 C2000中的 LIN 示例用作基本代码、并 对其进行了一些更改

调试代码期间的观察结果如下:

1.我们使用 Lina 进行传输、但每当我们尝试运行传输代码时、都会观察到 SCIGCR1 reg 始终为0、并且在代码执行过程中它不会更改值。 (我还观察到 SCIGCR0和 SCIGCR2发生了变化)。

2、代码总是等待发送缓冲区为空、但始终不会发生(基本而言、与缓冲区为空相关的寄存器始终为0)。 缓冲区数据似乎永远不会被传送、因此它永远不会设置 EMPTY 标志。

我们无法进一步调试、因为我们不知道需要在哪个方向调试、因为所需的寄存器值始终为0。 我已附上代码片段、并告知我是否需要其他内容。 请告知我们如何继续前进、以及我们缺少什么。

e2e.ti.com/.../4478.Lin.c

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

    您好!

    为了确认我的理解、您是否在尝试操作 LIN 模块:

    • 在 LIN 模式下- SCIGCR1位6应设置为1
    • 作为指挥官- SCIGCR1位5应设置为1

    如果您尝试单步执行代码、 当单步执行到LIN_init()Lin_Init()函数中的函数调用时、您是否看到 SCIGCR1寄存器位发生了变化?

    此致、

    德拉尼