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:将 Lin 设置为 sci 函数、但无法进入 RX 中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1107955/tms320f280039c-set-lin-as-sci-function-but-can-not-go-into-the-rx-interrupt

器件型号:TMS320F280039C

您好专家、  

我的客户希望使用 LIN 作为 SCI 功能、波特率为250kHz、可以在 TX 引脚上看到正确的数据。

它们可以在 SCIRD 寄存器上获取数据。 但它们不能进入 RX 中断、甚至不能进入一次!

寄存器状态如下:

配置代码为 e2e.ti.com/.../LIN.c

由于 SCI 与 SPI 共享时钟、并且无法获得 SCI 模块所需的波特率、因此必须使用 Lin 来实现此功能。

您能不能就此问题提供帮助、因为这是一个非常紧急的项目?

BR

Emma

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

    尊敬的 Emma:

    我相信时钟也是与 LIN 外设共享的、所以我不知道您是否能够避免使用与带 LIN 的 SPI/SCI 相同的时钟。 我将就此联系 LIN 所有者。

    此致、

    Vince

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

    尊敬的 Emma:

    您能否尝试"LIN_ex2_sci_loopback.c"示例、看看它是否适合您? 我正在查看您的代码、该示例中的许多项目都缺失了。 例如、清除 ISR 中的中断缺失。

    如果您无法获得环回示例、我将让 LIN 所有者进一步评论。

    此致、

    Vince

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

    Vince、  

    否、Lin 和 SPI /SCI 由不同的时钟源计时。

    Emma  

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

    Vince、

    他们已经测试了回查找模式。他们仍然可以在 SCIRD 上接收数据、但不能进入中断。

    请给我一个支持外部通信的代码、将 LIN 设置为 SCI 吗?

    然后我可以更改波特率并使用它。

    Emma

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

    尊敬的 Emma:

    在"LIN_ex2_sci_loopback"示例中、您只需注释掉"LIN_enableIntLoopback (Lina_base)"、我看到您已经完成了。 此外、如果您在 SCIRD 上接收数据、则代码看起来工作正常。

    您能否检查所有中断配置是否都正确发生、即当执行以下行时、它是否确实设置了这些位?

     //
     //启用已完全接收到帧的中断
     //
       LIN_enableSCIInterrupt (Lina_base、LIN_SCI_INT_RX);

       //
       //将中断优先级设置为线路0 (高电平)
       //
       LIN_setSCIInterruptLevel0 (Lina_base、LIN_SCI_INT_RX);

    此致、

    Nirav