代码如下。
void uart2Init(void) { SysCtlPeriEnable(SYSCTL_PERIPH_GPIOG); /* 使能UART0所在的GPIOA端口 */ SysCtlPeriEnable(SYSCTL_PERIPH_UART2); /* 使能UART0模块 */
GPIOPinTypeUART(GPIO_PORTG_BASE , /* 配置PA0和PA1为UART功能 */ GPIO_PIN_0 | GPIO_PIN_1);
UARTConfigSet(UART2_BASE , 9600 , /* 波特率:9600 */ UART_CONFIG_WLEN_8 | /* 数据位:8 */ UART_CONFIG_STOP_ONE | /* 停止位:1 */ UART_CONFIG_PAR_NONE); /* 校验位:无 */
UARTIntEnable(UART2_BASE , /* 使能接收中断和接收超时中断 */ UART_INT_TX);UART_INT_RX|UART_INT_RT
IntEnable(INT_UART2); /* 使能UART0总中断 */ IntMasterEnable(); /* 使能处理器中断 */
UARTEnable(UART2_BASE); /* 使能UART0端口 */ }
黑色代码在执行到UARTINTEnable时跳了FaultISR(void),可能是一个硬件错误。红色部分对应接收中断使能,为什么不能使能发送中断呢?
|