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.

[参考译文] TMS320F280049C:SCI 和 UART 混淆。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1429797/tms320f280049c-sci-and-uart-confusion

器件型号:TMS320F280049C
Thread 中讨论的其他器件:C2000WARE

工具与软件:

由于 launchpad f280049c 使用的是 SCI、而不是 UART、因此、如果必须使用 USB-UART/串行转换器或类似器件、我会感到困惑。 实际上、我正在尝试通过 Qt 控制台将数据发送到 Launchpad、但 Launchpad 未响应。 由于我使用 XDS110探针进行调试、我认为同样适用于连接 Laptop 和 Launchpad。  

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

    您好!

    SCI  (可在 C28x 内核上访问)是使用/支持 UART 协议的模块。 UART 协议的主要特性包括:两个通信器件之间只有2个物理引脚连接(TX:发送和 RX:接收)、共享波特率(位/秒)、以及通信是 异步的(不共享时钟信号)。  

    如果您使用 Launchpad、则应该能够仅通过 USB 连接与 PC 进行通信、因为该电路板已经具有 USB-UART 桥接器。 您只需确保电路板开关设置为使用连接到该路径的正确 SCI GPIO。 (请参见电路板原理图了解相关信息)。 我们在 C2000Ware 中有一个 SCI 回显示例、也可用于测试此连接: {C2000Ware}0\driverlib\f28004x\examples\sci。

    此致、

    Allison

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

    我能够使用回显示例使 SCIA 和 SCIB 彼此通信、从而使该器件能够正常工作。 但是、现在的难题是在不同应用之间传输 UART 连接。 尽管在代码中正确设置了所有内容、但我仍然无法使其正常工作。 任何建议都很感谢!

    谢谢 Allison。

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

    尊敬的 Momina:

    很高兴听到您的消息! 您能否详细说明一下您看到的问题和您要申请的应用? 您是否遇到 C2000端 SCI 配置的问题? 有线连接/GPIO 分配? 您是否能够已经运行程序并确定引脚范围以验证输出? 或者无法编译工程并看到特定的编译错误?

    一旦我进一步了解了环境以及您的发展所处的状态、我就可以帮助您提供更好的指导。

    此致、

    Allison

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

    尊敬的 Momina:

    遗憾的是、我不能过多地谈论 Qt 端、但对于 F28004x、您还可以通过启用内部环回模式(RX 和 TX 在内部连接在一起)和传输数据来验证您是否正在发送和接收相同的内容("环回数据")、来验证 SCI 模块是否正确配置。 这有助于确保 SCI 模块按预期工作。

    我们在 C2000Ware 中也在同一位置{C2000Ware}\driverlib\f28004x\examples\sci 有几个环回示例。

    您是否能够确认回送功能?

    此致、

    Allison

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

    Allison、如果您能指导我使用控制台调试代码、将会非常感谢。 我尝试使用 LED、但我想通过在控制台上(或终端)显示已发送/已接收的来确认它。 在我的案例中、如果我使用 PUTS -就像我看到人们使用的那样、它不会打印任何内容、或者可能会出现内存问题!  

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

    尊敬的 Momina:  

    使用环回模式有助于在独立于其他器件的情况下验证 SCI 功能方面进行调试。 此外、在代码中的各种位置运行程序并设置断点、然后查看这些点的 SCI 寄存器以检查 SCI 寄存器的状态也很有用。 请注意、如果要查看接收到的数据、则应使用 SCIRXEMU 寄存器而不是 SCIRXBUF - TRM 中有与此相关的注释。 您还可以在 RX 或 TX 函数中(例如在 RX/TX ISR 中)创建全局变量并将其递增、然后将其添加为 CCS 监视变量以查看变量增量、以指示其传递代码的某些部分。  

    如果您尝试通过 PC 上 CCS 的串行终端进行通信、则需要使用正确的 GPIO 将数据从 F28004x 传输到 PC (电路板的原理图将提供有关哪些 SCI GPIO 连接到正确硬件以便通过 UART-USB 桥接器发送的信息)。

    还有一个常见问题解答、其中也提供了一些 SCI 调试技巧:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1031947/faq-my-c2000-sci-is-not-transmitting-and-or-receiving-data-correctly-how-do-i-fix-this 

    此致、

    Allison