Tool/software: TI-RTOS
Dear Experts,
I'm working on a UARTTiva adaption, which supports half duplex operation (intended for a master implementation of a proprietary bus). I don't use DMA, but the interrupt driven approach UARTTiva.
Even though I unmasked the EOT bit in the UART Interrupt Mask by following code
#define UART_INT_EOT 0x800 // End of Transmission Interrupt Mask
/* enable end of transmission interrupt */
UARTIntClear(hwAttrs->baseAddr, UART_INT_EOT);
UARTIntEnable(hwAttrs->baseAddr, UART_INT_EOT);
I do not get an interrupt, when the last bit gets transmitted. The debug register view shows the interrupt to be unmasked. Neither in UART Raw Interrupt Status nor in UART Masked Interrupt Status I see the EOT bit set, when an interrupt occurs (always only TXRIS or TXMIS respectively)
After setting the EOT bit in the UART Control (UARTCTL) register by the following code
UARTDisable(hwAttrs->baseAddr);
HWREG((hwAttrs->baseAddr) + UART_O_CTL) |= (UART_CTL_EOT);
UARTEnable(hwAttrs->baseAddr);
the busy flag is always cleared when the interrupt occurs (TXMIS) as expected, but the EOTRIS is still always cleared.
Is the device really supporting an EOT interrupt as described in the Tiva™ TM4C129ENCPDT Microcontroller
DATA SHEET for EOTRIS (p. 1323)?