Cortex-m3 UART为什么无法接收数据?
[复制链接]
请教一下:M3出口通信为什么无法收到数据呢?但是可以发数据的。
下面是我的程序:
// //UART0 inint void UART0_Inint() { SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);//enable Port A SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);//enable UART0 CLOCK GPIOPinTypeUART(GPIO_PORTA_BASE,GPIO_PIN_1|GPIO_PIN_0);//SET GPIO WORKED AS UART MODE UARTConfigSetExpClk(UART0_BASE,SysCtlClockGet(),9600,UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE); //cofigurate the UART //baud rate is 9600 //data length is 8 bit //one stop bit //none parity bit // UARTFIFOEnable(UART0_BASE); UARTIntEnable(UART0_BASE,UART_INT_RT|UART_INT_RX);//set uart interrupt as receive and receive timeout interrupt UARTEnable(UART0_BASE);//enable uart0 IntEnable(INT_UART0);//enable uart0 interrupt } 中断服务函数:
void UART0InterruptHandler() { PC5_1;//灯亮 作为指示 PD7_1; SysCtlDelay(0xffffff); UARTIntClear(UART0_BASE,UART_INT_RT|UART_INT_RX);//clear interrupt flag if(UARTCharsAvail(UART0_BASE))//judge if UART has received data { UARTCharPutNonBlocking(UART0_BASE,UARTCharGetNonBlocking(UART0_BASE)); } }
使用串口调试助手时,只有在复位的时候串口调试助手能收到00的数据,然后手动发送就不行了。
但是我把发送数据的函数放在主函数中直接调用就可以,说明发送是没问题的,应该是接受端出了问题。
请哪位大哥哥大姐姐帮忙解答一下哈,小弟感激不尽!
|