Hi,
I am new to the Tiva micro and need some help.
I am trying to get an interrupt at the end of each byte transmitted on TX0 or at the end of the packet;
I get no interrupt if I send 1 byte, or 3 bytes. If I send 22 bytes, I get an interrupt at around byte # 16.
I used i = UARTTxIntModeGet(UART0_INDEX); to verify that UART_TXINT_MODE_EOT was active.
I am using the following code, please let me know where I am making the error
Thanks for your help
Rich
//init uart0
ROM_IntPrioritySet(INT_UART0, UART0_INTERRUPT_LEVEL);
ROM_GPIOPinConfigure(GPIO_PA0_U0RX);
ROM_GPIOPinConfigure(GPIO_PA1_U0TX);
ROM_GPIOPinTypeUART(PIN_U0RX_PORT, PIN_U0RX_PIN);
ROM_GPIODirModeSet(PIN_U0TX_PORT, PIN_U0TX_PIN, GPIO_DIR_MODE_HW);
ROM_GPIOPadConfigSet(PIN_U0TX_PORT, PIN_U0TX_PIN, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
i_set_interrupt(INT_UART0, SerialUART0IntHandler, 0);
SerialSetURT(PANEL_KP_UART_INDEX, BAUDRATE_UART0, UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_EVEN,
SERIAL_FLOW_CONTROL_NONE, false, UART_FIFO_TX1_8, UART_FIFO_RX1_8); //true==disable FIFO
//switch from FIFO intr to EOT intr which allows for single byte intr
UARTTxIntModeSet(PANEL_KP_UART_INDEX, UART_TXINT_MODE_EOT);
ClearUart0Buf(PANEL_KP_UART_INDEX, CLR_FULL_BUF);
// ROM_UARTIntDisable(g_ulUARTBase[PANEL_KP_UART_INDEX], (UART_INT_RX | UART_INT_RT));
ROM_UARTIntClear(g_ulUARTBase[PANEL_KP_UART_INDEX], 0xFFFFFFFF);