Hi all,
We've had a few different scenarios now where our UART drivers will occassionally stall because UCTXIFG remains clear after a character is sent (UCBUSY = 0).
We've observed this behaviour in an interrupt based UART driver for a port running at 57.6kBaud, and a DMA based driver for another port running at 2MBaud.
In the case of the DMA driver, we only seem to get the UCTXIFG problem at the end of the DMA burst - have not observed a DMA burst halt early due to this issue.
We are working around this by detecting that UCTXIFG is clear when it shouldn't be and setting it (just before starting the burst for DMA, on a timer for the interrupt based UART).
Both UARTs are sourced from SMCLK and we do not poll UCTXIFG so I don't think errata USCI44 applies.
Do you have any suggestions regarding why we might be seeing this effect and whether there is a better work around?
Cheers
Julian