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的UART通信配置

想通过这块板子和传感器之间实现通信,给传感器发送一帧信息九个字节,传感器给我返回数值。选用UART2的PD6与PD7端口做输入输出,但是实践中并没有监测到数据的传入。把两端口直接相连想看一下自我收发是否可行,程序执行的结果和断开端口时是一样的,不知道哪里出了问题。接受数据和发送数据的代码在用PA0,PA1和PC做通讯时就完全没有问题请问是我的端口配置有问题吗?另外我没有使用中断,而是用一个循环来持续检测接受FIFO里是否有字符。配置代码贴在下面:

int main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN
| SYSCTL_XTAL_16MHZ);

FPUEnable();

FPULazyStackingEnable();

IntMasterEnable();

char UART_Send_Matrix[9] = {'\xFF','\x01','\x86','\x00','\x00','\x00','\x00','\x00','\x79'}; //构建发射数组以获取信息

char UART_Receive_Matrix[9];

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART2);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, GPIO_PIN_6);

GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_7);

GPIOPinConfigure(GPIO_PD6_U2RX);

GPIOPinConfigure(GPIO_PD7_U2TX);

GPIOPinTypeUART(GPIO_PORTD_BASE,GPIO_PIN_6|GPIO_PIN_7);

UARTConfigSetExpClk(UART2_BASE,SysCtlClockGet(),9600,(UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE));

UARTFIFOEnable(UART2_BASE);

UARTEnable(UART2_BASE);