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-TM4C1294XL:使用 UART5发送简单文本

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/700833/ek-tm4c1294xl-sending-a-simple-text-with-uart5

器件型号:EK-TM4C1294XL

大家好、我正在尝试基于 TIVAWARE 示例文件夹中提供的示例使用 UART5。 我只是对代码进行了一些修改、以便仅使用我需要的内容、但我无法在串行端口中看到任何字符。

以下是我的代码:

#include 
#include 
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysputs.h"



#include "driverlib/uart.h"#idt_uint32ut ut uints/iintuintegot_uidrupt_u32ut uinth 和 iinth uinth uinth uintegot_uintuintuidt_uintuintuidt_uidrupt.h * uinth




while (ui32Count---)
{
//
//将下一个字符写入 UART。
//
UARTCharPutNonBlocking (UART5_BASE、* pu8Buffer++);
}
}



int main (void)
{

/*将时钟设置为以120MHz 运行*/
G_ui32SysClock= SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
SYSCTL_OSC_MAIN | SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480)、120000000);

/*为 UART*/启用 UART 和 GPIO
SysCtlPeripheralEnable (SYSCTL_Periph_UART5);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);

/*设置 UART 功能的引脚*/
GPIOPinConfigure (GPIO_PC6_U5RX);
GPIOPinConfigure (GPIO_PC7_U5TX);
GPIOPinTypeUART (GPIO_PORTC_BASE、GPIO_PIN_6 | GPIO_PIN_7);

/*设置 UART5配置*/
UARTConfigSetExpClk (UART5_BASE、g_ui32SysClock、19200、
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE);


/*将永远重复的任务*/
while (1){
UARTSend ((uint8_t *)"\033[2JEnter 文本:"、16);
}

返回0;
}

我使用的 USB 转串行转换与此类似:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您是否有示波器或逻辑分析仪来探测 TX 和 RX 引脚? 它们显示了什么? 您是否在 PC 端配置了匹配波特率和帧格式(即停止位、奇偶校验)? 在 PC 端,设备管理器中是否显示了 USB->串行转换器? 首先要检查的是这些内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嘿、Charles、谢谢您的支持。 我已经测试了电缆和转换器(使用环回、发送和接收字符)、一切似乎都正常。 您知道,我将以允许的方式连接板引脚和转换器:

    TXD --> PC6引脚(UART5接收器)
    RXD ->PC7引脚(UART5发送器)
    GND (转换器)->GND (板)

    我通过 ICDI 为电路板供电、这就是+5V 和+3.3V 引脚未连接的方式。 PC 端的配置与代码相同,但当我尝试时:

    屏幕/dev/ttyUSB0 19200

    我只能得到:

    [屏幕正在终止]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    如果您在示波器上看到来自 MCU 的 TX 和 RX 引脚的信号、您还没有回答我的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我刚刚测试了您的代码、它在我的 LaunchPad 板上工作。 您需要在 PC 端进行诊断。 您的意思是通过 ICDI 为转换器供电? 您是否未将转换器插入 PC?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗨、抱歉。 是的、TX 引脚上有信号、但 RX 上没有信号(这是预期的、对吧?)

    示波器屏幕: https://imgur.com/a/kmzSvQK
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不可以、我通过 ICDI 为电路板(EK-TM4C194XL)供电、但转换器连接到 PC
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么、什么不起作用呢? MCU 似乎运行正常。 您的 PC 需要发送一些消息以供 MCU 的 RX 引脚接收。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、PC 应该发送它、但我正在尝试将文本从 MCU 发送到 PC。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您之前已经说过、您正在从 MCU 的示波器上看到 TX 活动、因此它正在工作。 您为什么不在 PC 上打开终端窗口来查看收到的内容? 您正在 while (1)循环中发送"\033[2JEnter Text:"、如果您的 PC 配置为具有相同波特率、停止位和奇偶校验、您应该会看到我们 PC 上的终端显示相同的消息。 我建议您也尝试另一台基于 Windows 的 PC。