TI中文支持网
TI专业的中文技术问题搜集分享网站

有关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);

xyz549040622:

你意思是,用PD6与PD7使能UART2的时候,发送8位数据也是失败的,对吧?

user5271729:

回复 xyz549040622:

就是这个意思,您看我初始化时候的函数写的有问题吗

xyz549040622:

回复 user5271729:

我用我的板子试一试告诉你结果。

赞(0)
未经允许不得转载:TI中文支持网 » 有关TM4C123GH6PM的UART通信配置
分享到: 更多 (0)