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.

[参考译文] TMS570LS3137:TMS570LS3137 SCI 多缓冲器问题

Guru**** 2533590 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1335148/tms570ls3137-tms570ls3137-sci-multi-buffer-issue

器件型号:TMS570LS3137

大家好!

我们正在研究用于两个器件间通信的 SCI 模块。 在该项目中、我们将使用多缓冲区更轻松地处理通信、但在我们进行配置后、我们无法在终端上看到任何数据。 问题在哪里?

如果你能帮助我们,我们会很高兴。

此致、

古坎

e2e.ti.com/.../TMS570LS3137_5F00_UART_5F00_Example.zip

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

    尊敬的 Furkan:

    我比较了你的 sci 初始化代码和工作代码,我注意到以下事情:

    在您的代码中  

    i)您正在尝试设置 GCR1寄存器的第10位、我不知道您为什么要这样做、但根据 TRM、这是保留位的。

    ii)、同样、您还将尝试写入格式寄存器的16、17和18位、这些位也根据 TRM 保留位

    显然、我们永远不知道该位将如何影响 SCI 外设的行为、并且我们不应写入这些位。 在按如下方式修改代码后、您的 SPI 会正常工作。

    下面是我的测试代码:

    e2e.ti.com/.../8802.TMS570LS3137_5F00_UART_5F00_Example.zip

    --
    谢谢。此致、
    Jagadish。

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

     Jagadish、您好!


    我们需要使用具有多次缓冲功能的 UART。 但看起来您通过注释行禁用了多缓冲。 (Sci.c 第172行)

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

    尊敬的 Serkan:

    抱歉、我的错。 我超出了多缓冲要求。

    你已经正确地完成了关于多重缓冲 SCI 配置的所有操作。

    唯一的问题是在编写时,实际上对于多重缓冲,我们不应该使用"sciSend"函数,因为此函数会将数据写入"sci->td"寄存器。

    在多次缓冲 SCI 中、我们应该将数据写入缓冲寄存器 LINTD0和 LINTD1。

    请参阅我最近的主题:

    (+) TMS570LS3137-E2E:SCI/Lin 多缓冲区模式不工作-基于的微控制器论坛-基于 Arm 的微控制器- TI EP 支持论坛

    --
    谢谢。此致、
    Jagadish。