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.

[参考译文] TM4C123GH6PM:UART0和 UART3工作正常、但 UART2不会进行转换

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/744630/tm4c123gh6pm-uart0-and-uart3-working-ok-but-uart2-is-not-transmiting

器件型号:TM4C123GH6PM
主题中讨论的其他器件:TM4C123

您好!

我正在使用 UART0和 UART3时没有任何问题、但当我尝试使用 UART2发送数据时、它不起作用。 我用示波器查看引脚10 (U2Tx)、在发送数据时甚至看不到任何电压变化或活动。

奇怪的是、我将 UART2配置为与 UART0和 UART3相同。

下面是 UART2初始化:

void UART2_Init (void)
{
//
//启用 UART 使用的 GPIO 外设。
//
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);

//
//启用 UART2
//
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_UART2);
//等待 UART2模块准备就绪
while (!ROM_SysCtlPeripheralReady (SYSCTL_Periph_UART2))
{
}

//
//为 UART 模式配置 GPIO 引脚。
//
ROM_GPIOPinConfigure (GPIO_PD6_U2RX);
ROM_GPIOPinConfigure (GPIO_PD7_U2TX);
ROM_GPIOPinTypeUART (GPIO_PORTD_base、GPIO_PIN_6 | GPIO_PIN_7);

//
//将 UART 配置为115、200、8-N-1操作。
//
ROM_UARTConfigSetExpClk (UART2_base、SysCtlClockGet ()、115200、
(UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE |UART_CONFIG_WLEN_8);//115200、9600

//
//启用 UART 操作。
//
ROM_UARTEnable (UART2_base);

} 

在 main 中、我每秒向 UART2写入一个字符以测试端口、但是、正如我说过的、似乎没有发送任何内容:

int main (void)
{

/*设置系统时钟*/
ROM_SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN);

UART0_Init();
UART2_Init();
UART3_Init();

// UART2测试
while (1){
//将字符"A"写入 UART2
UARTCharPut (UART2_base、'a');


Timer1_WAIT_ms (1000);//正常工作的自定义函数
}
} 

我缺少什么吗?

谢谢!

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

    TM4C123器件的 PD7需要进行端口解锁。 我认为您没有这样做、这很可能是您的问题。

    有关更多详细信息以及解锁代码、请参阅此帖子: e2e.ti.com/.../374640
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ralph、
    感谢您的快速响应。 这就是问题、在解锁 PD7后、它就像一个魅力。

    谢谢!