请教一个关于LM4F232串口发送中断问题

2019-03-24 10:08发布

在使用利尔达的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); 调试一天了,不知道怎么回事,有人知道吗? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
yg1982720
1楼-- · 2019-03-25 09:57
我不知道我理解的对不对,我是先发送第一个字节,等发送FIFO空时,就可以触发一次中断,发送中断里面再填充发送数据到FIFO,直到缓冲数组里面全部发送完毕最后一次进中断不再填充数据。现在我的问题是一次发送中断也没进入。
蓝雨夜
2楼-- · 2019-03-25 12:47
哦!这样的
呵呵,想想办法,我还没做uart的实验!
蓝雨夜
3楼-- · 2019-03-25 17:38
 精彩回答 2  元偷偷看……
yg1982720
4楼-- · 2019-03-25 20:24
两种方法都试过了,还是没用。
1.使用库函数注册UARTIntRegister(UART1_BASE, UART1TXIntHandler);
2.修改启动文件startup.s,增加EXTERN  UART1TXIntHandler和DCD     UART1TXIntHandler; UART1 Rx and Tx
ddllxxrr
5楼-- · 2019-03-26 00:43
蓝雨夜
6楼-- · 2019-03-26 03:39
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章