在使用利尔达的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);
调试一天了,不知道怎么回事,有人知道吗?
此帖出自
小平头技术问答
呵呵,想想办法,我还没做uart的实验!
1.使用库函数注册UARTIntRegister(UART1_BASE, UART1TXIntHandler);
2.修改启动文件startup.s,增加EXTERN UART1TXIntHandler和DCD UART1TXIntHandler; UART1 Rx and Tx
一周热门 更多>