在使用利尔达的M4开发板时使用UART1串口进行中断接收和中断发送,但是发送不会进入中断程序,程序只会将缓冲里面第一个字节发送出去后就完事了,中断接收则正常。下面是配置程序:
// // 配置Uart引脚,(PA0、PA1) // SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
// 使能处理器总中断 // IntMasterEnable();
// 设定PC4、PC5 // GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_4 | GPIO_PIN_5); GPIOPinConfigure(GPIO_PC4_U1RX); GPIOPinConfigure(GPIO_PC5_U1TX); //---------------------------GPIP口配置-------------------------------//
//---------------------------串口配置115200 N81-------------------------------// // // 配置UART到115200,8-N-1 // UARTConfigSetExpClk(UART1_BASE, SysCtlClockGet(), 115200, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
UARTIntRegister(UART1_BASE, UART1TXIntHandler); UARTIntRegister(UART1_BASE, UART1RXIntHandler); UARTIntClear(UART1_BASE, UART_INT_TX); UARTIntEnable(UART1_BASE, UART_INT_TX); UARTIntEnable(UART1_BASE, UART_INT_RX | UART_INT_RT); // // 使能UART中断 // IntEnable(INT_UART1);
调试一天了,不知道怎么回事,有人知道吗?
|