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.

[参考译文] MSP-EXP432E401Y:MSP-EXP432E401Y UART2访问问题

Guru**** 2392905 points
Other Parts Discussed in Thread: MSP-EXP432E401Y

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1511792/msp-exp432e401y-msp-exp432e401y-uart2-issue-in-access

器件型号:MSP-EXP432E401Y

工具/软件:

我使用 MSP-EXP432E401Y 开发板。

我修改了UARTStdioConfig(0, 115200, g_ui32SysClock)enet_lwip.c文件中的行 Ethernet_with_lwip_MSP-EXP432E401Y 代码示例。
0我以前没有通过、而是2访问微控制器的 UART2。

我还移除了跳线 JP4 和 JP5 要断开 UART 与调试器的连接、并将 COM 端口直接连接到 UART2引脚(TX、RX 和 GND)。

但是、当我运行代码时、终端不会显示UARTprintf函数的任何输出。
例如、该行UARTprintf("Ethernet lwIP example\n\n");不打印任何内容。

当我使用 UART0执行相同的过程(如原始示例)时、输出在终端上正确显示。

是否需要执行任何其他操作才能访问 UART2?

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

    您好、

    Unknown 说:
    我还删除了跳线 JP4 和 JP5 要断开 UART 与调试器的连接、请

    您不仅仅移除 JP4和 JP5、而是从其默认垂直方向更改为水平方向。 执行此操作后、UART2TX 和 UART2RX 将会路由到 COM 端口的 XDS110调试探针。 有关详细信息、请参阅用户指南。  

    2.1.6.2 BoosterPack 插件模块接口2.

    第二个 BoosterPack XL 接口位于电路板底部附近。 该接口完全符合 BoosterPack 插件模块标准、并添加了 BoosterPack 插件模块标准未涵盖的功能、支持使用其他 BoosterPack 插件模块进行操作。 使用跳线 JP4和 JP5、可以选择将控制器局域网(CAN)数字接收和发送信号路由至 BoosterPack 插件模块接口2连接器。 在默认配置中、UART0用于 XDS-110反向通道 UART、并且不存在于 BoosterPack 插件模块接头中。 在此配置中、ROM 串行引导加载程序可通过 XDS-110反向通道 UART 使用。 在 BoosterPack 插件模块接口上将跳线配置为 CAN 时、UART2必须用于 XDS-110反向通道 UART。

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

    尊敬的先生:

    在我的设计中、我仅使用 MCU、但不想使用调试器。 因此,没有调试器,我如何访问 UART 2。 现在我将 COM 端口直接连接到 UART2的 TX 和 RX 引脚、在代码中、我已在 UART 配置功能中将参数从0更改为2。 我们希望使用调试器只是为了进行编程。

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

    您好、

    在我的设计中、我仅使用 MCU、但不想使用调试器。 [/报价]

    请注意、如果没有调试器、您将无法调试代码。  

    因此、如果没有调试器、如何访问 UART 2。

    引导加载程序。 如果您使用具有 JTAG 接口的调试器、则下载或更新固件的唯一方法是使用引导加载程序通过某种类型的通信接口(例如 UART)。 这是你想要做的吗? 如果您要查看 UART 引导加载程序、请参阅 BSL 文档 https://www.ti.com/lit/pdf/slau746 和 https://dev.ti.com/tirex/explore/node?node=A__ADn.VTNH8qUYxgak.wnmVw__com.ti.SIMPLELINK_ACADEMY_MSP432E4SDK__Nh7md.m__LATEST

    现在我将 COM 端口直接连接到 UART2
    的 TX 和 RX 引脚

    谁是你的主人? 是 PC 吗? 我不清楚您的意思是将 COM 端口直接连接到 UART2的 TX 和 RX。 如果没有充当 USB 转串行桥接器的 FTDI 芯片、如何做到这一点?  

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

    先生、

    我不使用 UART 对 MCU 进行编程。 在设计中,我将使用外部调试器(XDS110)和 JTAG 对 MCU 进行编程。

    但现在我的设置是、我有 MCU 板并使用其调试器通过 USB 对笔记本电脑进行编程和获取电力。

    我将 Ethernet_with_lwip_MSP-EXP432E401Y 代码示例的 enet_lwip.c 文件中的行 UARTStdioConfig (0115200、g_ui32SysClock)修改为 UARTStdioConfig (2115200、g_ui32SysClock)。
    访问微控制器的 UART2、而不是 UART0。

    此外、我还 在 while 循环中添加了 UARTprintf ("Ethernet lwIP example\n\n")行、从而使 UART2持续发送该数据。

    完成上述修改后、我在 MCU 中构建并加载程序。

    编程后、 我移除了 MCU 的 JP5和 JP4跳线、以避免通过调试器访问 UART。

    然后、我使用 USB 转串行适配器、将其 USB 端连接到笔记本电脑、将其 RX 引脚连接到 MCU 的 J5-TX 引脚、并将其 TX 引脚连接到 MCU 的 J5 -RX 引脚。

    我  在 PC 中打开 PuTTY 以访问通过 UART2提供的数据。 但没有收到任何东西。

    同样、当我使用 UART0时、它在 PuTTY 上显示输出。

     软件是否需要进行任何其他修改才能访问 UART2。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    进行编程后  、我移除了 MCU 的 JP5和 JP4跳线、以避免通过调试器访问 UART。[/报价]

    通常、您会将 JP4/JP5的垂直方向更改为水平方向、以便 UART2路由到 LaunchPad 上的集成 XDS110。 从 UART2到 PC 无需使用单独的 FTDI 芯片。 如果您要将自己的 FTDI 用于 UART2、则需要将 JP4和 JP4恢复到垂直位置。 在本例中、UART0仍连接到 XDS110。  

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

    以下是您在代码中的内容。 问题是在 PinoutSet()中它只配置 UART0、而不配置 UART2。 您需要为 UART2进行更改。  

    //
    //配置器件引脚。
    //
    PinoutSet (true、false);

    //
    //配置 UART。
    //
    UARTStdioConfig (2115200、g_ui32SysClock);

    为何在调用  UARTStdioConfig (2115200、g_ui32SysClock)之前您未按以下方式编写来配置 UART2。  

    SysCtlPeripheralEnable (SysCtl_Periph_GPIOD);
    SysCtlPeripheralEnable (SYSCTL_PERIPH_UART2);
    GPIOPinConfigure (GPIO_PD4_U2RX);
    GPIOPinConfigure (GPIO_PD5_U2TX);
    GPIOPinTypeUART (GPIO_PORTD_BASE、GPIO_PIN_4 | GPIO_PIN_5);
    UARTStdioConfig (2115200、g_ui32SysClock);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的问题是我需要做什么改变来同时访问两个 UART。 我是否需要在  UARTStdioConfig( 2或0、 每次发送数据时、115200、g_ui32SysClock)。

    如果要将 LaunchPad 上的集成 XDS110调试探针用作 USB 转串行转换器、则一次只能使用 UART0或 UART2一个。  请参阅 LaunchPad 原理图。 请参阅下面的。 TARGET_RXD 和 TARGET_TXD 进入 XDS110。 JP4和 JP5用作多路复用器、用于为 UART0选择 PA0和 PA1、或为 UART2选择 PD4和 PD5。 如果要同时使用 UART0和 UART2、则可以 对 UART0使用 UARTStdioConfig、然后复制 UARTStdioConfig 函数 、例如 UARTStdioConfig2。 对于 UART2、您需要从外部使用 FTDI USB 转串行转换器。 您还可以使用 UART API 向任何 UART 实例发送/接收。 使用 C:\ti\simplelink_msp432e4_SDK_4_20_00_12\examples\nortos\MSP-EXP432E401Y\driverlib\uart_echo 来了解如何向 UART 发送/接收数据。