This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UART0 TX Interrupt not firing

Hi,

I have initialised UART0 like this...

ROM_GPIOPinConfigure(GPIO_PA0_U0RX);                                                              //set up pins PA0 and PA1 for UART use
ROM_GPIOPinConfigure(GPIO_PA1_U0TX);
ROM_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);

ROM_SysCtlPeripheralReset(SYSCTL_PERIPH_UART0);
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);                                    //enable the UART peripheral and clock

ROM_UARTDisable(UART0_BASE);                                                                            //disable while we set it up
ROM_UARTConfigSetExpClk(UART0_BASE, ROM_SysCtlClockGet(), 115200, UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE);                                  

ROM_UARTFIFOLevelSet(UART0_BASE, UART_FIFO_TX4_8, UART_FIFO_RX1_8); //set interrupt levels

ROM_UARTFIFOEnable(UART0_BASE);                                                                    //enable hardware fifo

ROM_UARTIntDisable(UART0_BASE, 0xFFFFFFFF);                                              //clear the mask reg
ROM_UARTIntClear(UART0_BASE, ROM_UARTIntStatus(UART0_BASE, false)); //clear int flags
ROM_UARTTxIntModeSet(UART0_BASE, UART_TXINT_MODE_FIFO);              //TX int on fifo less than LevelSet
ROM_UARTIntEnable(UART0_BASE, UART_INT_RX);                                           //set mask reg to enable rx ints
ROM_IntEnable(INT_UART0);                                                                                      //enable uart interrupts

ROM_UARTEnable(UART0_BASE);                                                                           //enable UART

then after all my inits I have

ROM_IntMasterEnable();                                                                                              //enable interrupts master

if I then put

ROM_UARTIntEnable(UART0_BASE, UART_INT_TX);                                          //unmask tx ints

I would expect to get a TX interrupt immediately - but I don't get any, ever.

Can anyone see why not?

The RX interrupts work perfectly and the TX works fine if I simply use UARTCharPut()

Thanks

Richard