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.

[参考译文] EK-TM4C123GXL:在 uartecho_TM4C123GXL_TI 示例中、无法使用 UART3看到回显字符

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/846682/ek-tm4c123gxl-unable-see-echoed-characters-using-uart3-in-uartecho_tm4c123gxl_ti-example

器件型号:EK-TM4C123GXL

您好!

我认为我已经对示例进行了必要的更改、以便使用 UART3而不是默认 UART0。 我尚未在 EK_TM4C123GXL.C.中添加另一个 UART 相反、我只是对用于配置 UART0的代码进行了更改。

我正在使用蓝牙模块、我已在非 RTOS 设置中成功使用 UART3。 我可以确认我能够通过 Tera Term 连接到模块。 程序会编译并运行、但不会回显任何字符。  

我将展示包含更改的相关屏幕截图:

这是回声波。 我所做的更改就是"Board_UART3"

Board.h 中定义了-Board_UART3

- uart3 位于 EK_TM4C123GXL.h 中:

在 EK_TM4C123GXL.C 中、我进行了以下更改。 与 uart0相关的任何内容都已更改为 uart3、以及相关引脚的配置

我相信我已经编写了必要的更改来使 UART3正常工作。 如果步骤正确、我将研究代码以外的问题。

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

    您好 Pablo、

    原因是只有 UART0通过连接路由到 LaunchPad USB 端口、从而连接到 PC。

    您需要使用 UART 转 USB 转换器电缆并将其连接到 UART3的引脚、然后将 UART3端口连接到 PC。 如果没有电缆、您只能在 TeraTerm 和其他 PC 终端软件上看到 UART0的输出。

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

    您好 Ralph、

    我将 UART3 TX (引脚 PC7)和 UART3 RX (引脚 PC6)连接到蓝牙模块的 TX 和 RX 引脚。 过去、我使用 Tera Term 连接到蓝牙模块并以无线方式发送和接收字符。 我认为这将解决你提出的可能问题。

    但是、如果屏幕截图中显示的步骤看起来应该正确设置 UART3、我会将注意力放在设置的其他方面。

    此致、

    Pablo  

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

    您好!

    如果我可以-您显示的代码显示了正确启用'UART_3'-但我们发现 MCU 端口'C '没有类似的启用'!   (端口和外设都必须启用。)

    为了让您的蓝牙模块直接(安全)连接到 MCU -"蓝色模块"必须提供并接受 CMOS 电压电平!   (仅限0V 至3V3)  您的"蓝色模块?"是这样的吗?    (请注意、许多此类模块会产生并预期 RS232信号电平-如果不是"电压限制"(通过标准的"线路驱动器")、则几乎肯定会使您的 MCU "降级"。)

    您提到了(过去)无线功能、但这(完全)在这里无法解释、从而使我(和其他人)"尝试协助"变得混淆/复杂。

    标签:"附加"到(未描述)"外部世界!"时的 UART_3 (CMOS)信号电平

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

    您好 Pablo、

    感谢您清除我对模块设置的误解、现在已经很清楚了。 现在、我将把这一信息传递给 TI-RTOS 专家、以便更好地了解您的系统设置、从而检查 UART3设置。

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

    您使用的是哪个版本的 SDK?

    当您在应用程序发生故障时停止处理器时、PC 在哪里?

    您是否使用 CCS 进行调试? 如果是、ROV 是否适合您? 如果是、Hwi 异常视图中是否有一个活动的异常?

    Alan

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

    您好、Alan、

    我目前正在使用 CCS 9.1.0

    我已修改了以下用途的示例:

    XDCtools 3.32.06_core

    对于 TivaC、TIRTOS 为2.16.0.08

    我可以访问 ROV。 在 Hwi->异常下、显示"无数据可显示"

     已随项目发布 zip 文件。 如果有人希望了解更多信息、 运行 uartecho 示例的用户应该非常熟悉它。

    e2e.ti.com/.../uartecho_5F00_EK_5F00_TM4C123GXL_5F00_TI.zip

    Pablo

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

    谢谢你。

    当您停止 CPU 时、PC 在哪里?

    Alan

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

    我导入了您的项目并运行了.out。

    我注意到构造用于打开 UART 的任务的行被注释掉:

    // Task_construction (&task0Struct,(Task_FuncPtr) echoFxn、&taskParams、NULL);

    如果任务函数为'echoFxn'的任务未运行、则不会发生任何情况。

    也许您在处于瞬态状态时发布了投影?

    Alan

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

    当我暂停时、PC 的值 为0x00006756

    Pablo

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

    抱歉、我忘记了取消评论这条线。

     但是我发现了问题的根源。

    UART_READ (UART、INPUT、1);

    不会在被调用时返回。

    Pablo

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

    巴勃罗

    我在恢复该行的情况下重建并运行了您的应用程序。

    我将 USB 连接到串行适配器到我的 PC、并将 TX 和 RX 引脚连接到 PC6和 PC7。

    回波示例对我来说运行正常。 我键入的每个字符都被回送给我。

    Alan

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

    Alan、

    好的、这意味着我的终端在硬件方面存在问题、例如我正在使用的蓝牙模块、我的接线或其他问题。 我很高兴它在您的端部工作、这意味着我可以将注意力放在我的代码之外的其他地方。

    您的帖子最有用

    谢谢、

    Pablo

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

    我只想对那些偶然遇到类似问题的人补充一点。

    我动手使用 USB 转串行适配器、代码工作正常。 在使用 UART3时确实回显的字符。

    我回到使用蓝牙模块和 UART3的非 RTOS 应用、发现波特率为115200。

    我还没有记住该模块的设计仅以115200波特率运行。

    现在、该项目在使用蓝牙模块的同时工作。