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.

[参考译文] CCS/EK-TM4C1294XL:TM4C1294 UART 问题

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/680484/ccs-ek-tm4c1294xl-tm4c1294-uart-issue

器件型号:EK-TM4C1294XL

工具/软件:Code Composer Studio

大家好、

我正在尝试通过 UART0将普通字符从电路板发送到 PC。 我已通过 ICDI USB 将电路板连接到 PC。 但是、PuTTY 不会显示任何字符(我在 while (1)循环中放置了发送字符)。

我已经检查了代码、它是可以的。 有人可以分享一些想法吗?  

这种情况变得非常令人沮丧...

此致、

Pete

P.S. 我已经尝试过 hello 和 UART_echo 示例。 它们都不起作用...

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

    您是否已在 Putty 和 UART 示例之间对齐波特率? 这是一个常见的问题,当我忘却时,甚至会让我适应。 此外、尝试另一个程序也不会有任何影响。

    您连接到哪个端口?

    此外、您能否使用示波器或逻辑状态分析器检查是否按预期从 UART 引脚发送 UART 输出? 尤其是在 UART_echo 中、您可以更好地控制它... (但也可以将 Hello、World 打印从 hello 示例移到循环中、以便进行打印)

    在硬件方面、您能否验证是否为 UART 设置了 JP4和 JP5跳线?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、

    感谢您的快速响应。

    我在电路板和 PC 上已经对齐了波特率。 两者都设置为9600、8-N-1
    2.我已经尝试过 PC 上的其他程序(串行分析器),并验证 PC 上没有任何内容
    3.我已将 PC 上的 USB 端口与电路板上的 ICDI USB 连接。 我的 PC 检测到 Stellaris 虚拟 COM 端口(在 COM3上)
    我没有示波器、但我使用调试来检查 UART0上的 UART_DR 寄存器、我注意到数据段根本没有变化。 它保持为0。 这是可疑的...
    JP4和 JP5上的跳线都设置为=、这适用于 UART。

    有什么想法吗?

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可能会注意到、"UART_DR"寄存器标记为"读取敏感型"-这可能是您报告"数据读取"可疑的原因。 遗憾的是-虽然 MCU 手册"承诺"了一些(描述-这种"敏感性")、但工作人员都不会破解、我也找不到"任何这样的描述!" 现在这证明了-也许-甚至更可疑...

    您已被告知"更慢"的波特率-以及使用限流 LED -可以测量 UART (或 GPIO)端口活动...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我每次尝试都达到9600 bps。 我不会再放慢速度了…
    我已接受将 LED 与发送方法链接的建议。 LED 工作正常... 现在才发送字符

    是否有任何其他链接寄存器(非基于示波器)方法来检查正在发生的情况

    总结:

    - 我使用的代码几乎与实验10示例相同(区别在于我在 while 循环中发送字符)

    -我已经编译了二进制文件并将其下载到电路板上

    -我已经从 CCS 启动了代码,它正在正常运行。

    -我在 PC 上使用了 PuTTY 和 Hercules,但没有收到一个字符。

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

    [报价用户="peter_mm_2018"]是否有任何其他链接的寄存器(非基于范围)方法来检查正在发生的情况

    我不能确定-提议的(注册链接)将会带来"最佳且最快"的解决方案。

    减去"正常/习惯"测试设备-和-如果"串行监视器"仍然限制在(仅限) A、"仅限 USB" PC -不是(标准) USB <-> CMOS UART 转换器-明显 上升到最佳状态?

    现在,供应商代理具有管理(两者) ICDI 调试/编程的更多经验... 以及 (可能) 通过同一 ICDI 独立使用 UART 板载。   Fire/I 不会-因为我们始终采用卓越的 J-Link -它直接连接到 MCU 的 JTAG/SWD 引脚-"完全消除"我认为"不确定性"是由(潜在) "两只无翼鸟-一颗石"(方法)引入的... (ICDI 为(也许)实现两个任务)-如上所述。

    如果您遵循我的建议-"逃避 ICDI 的(不确定)双任务处理"-您、 "快速、轻松和增强"您对任何 UART 的连接和检查-不受  (可能)供应商的"双任务处理"(可能) ICDI 引入的"干扰"(可能)影响。"   同样、无论是公司还是我都不愿意" 承担这种风险" (因为在 J-Link 被证明是卓越的情况下、可以避免这种不确定性!)

    您对这样的"USB <-> CMOS UART 转换器"的收购到目前为止都是您最确定的解决方案。   (可重复使用-用于(多个)其他任务...)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    老实说、我想检查一下这里发生了什么...
    在参考出版物中、任何其他串行数据传输连接方式都没有一个字、这就像最简单的 UART 测试用例(我的项目需要哪种 BTW)。
    我一定会做一些错误的事情、只是不知道...

    在继续使用 J-Link 等工具或更好地选择其他供应商的电路板之前、我将等待 TI 技术支持人员提供一些建议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要做到(两者)公平和完整-您应该(认真)参与论坛的"搜索框"(顶部)并输入 UART 和 ICDI -并查看是否存在(部分)重叠...

    你似乎"开放-甚至欢迎这种不确定性"-因为小贝兹家伙-这就是死亡! 而且-这种(不明智)对任何单一供应商方法的承诺-会让我立即从"爆震" "Golden EIB Exec "中"弹出"。 主席..."

    为什么您会投入这样的时间/精力-检查任何单一供应商的"独特实施"-尤其是在您完全被吸引的情况下-风暴云即将到来!   (毫无意义!)

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

    对于 TivaWare 示例、波特率应为115200、因此我建议尝试为您的终端设置该速率的 UART_echo、并尝试确认您是否已从我们的 TivaWare 示例开始使用 UART。 完成后、我们可以看到您自己的实施是否存在问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、

    我已经在115200处尝试了 hello 和 UART_echo 示例、两者都失败了。
    下一步是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Peter、

    是否从 TivaWare 下载中修改了它们? 您能否发布电路板图片? 其他程序是否像 Blinky 一样运行?

    如果所有这些检查都正常、则下一步是在 UART 引脚上获取示波器或 LSA、并查看问题是否出在您的 PC 上、因为我们的示例代码不会有任何问题、因此我需要看到 UART 引脚不存在 正确输出、以相信问题不出在您的 PC/终端软件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    开发套件仅需20美元。 我建议购买两个以快速排除硬件故障。

    失败到底意味着什么? Ralph Recommended 示例(UART_ECHO)会将字符发送回您的终端。 如果您可以看到您键入的内容、这就是成功。

    您可以保留 CAN 跳线设置。

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

    海报要求: " 客户-用户 的问题到底是什么?"   

    顶线-海报的"开场贴"-我认为-提供(声音)说明:

    [引用 user="peter_mm_2018]I 尝试通过 UART0向 PC 发送普通字符。 我已通过 ICDI USB 将电路板连接到 PC。 但是、PuTTY 不会显示任何字符(我在 while (1)循环中放置了发送字符)。

    请注意、(本)海报是 "独立的"–在遇到此类"UART 问题时。"     (潜在)"双占空比"(程序/调试和双向 UART)-是否在供应商的"ICDI"上被强制-没有充分记录/解释-反复导致"用户- UART"过度挑战?   

    和... 由于 UART 具有"此类数字"、并且在最简单 的串行接口中、它提取了"GPIO 成本"(仅2个引脚)、因此不应加大部署力度、以 提高 UART (甚至多个 UART)的使用率?

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

    仍是您的未决问题吗?

    另一个需要检查的问题是、设备管理器中的 COM 端口设置也设置为正确的波特率。 我在 MSP430 ICDI 中看到、如果您的 Windows 设备管理器波特率端口设置与 Putty/Docklight 等 UART 终端之间不匹配 -数据不能正确显示。