AnsweredAssumed Answered

LPC54606 UART FIFO - can't reset RXERR

Question asked by Bjoern Haack on Feb 7, 2020
Latest reply on Feb 19, 2020 by Sabina Bruce

Hi,

 

I'm unable to reset the RXERR-flag once it occurs.

 

clearing according to USART_TransferHandleIRQ() from USART driver version 2.0.3:
 /* Clear rx error state. */
base->FIFOSTAT |= USART_FIFOSTAT_RXERR_MASK;
/* clear rxFIFO */
 base->FIFOCFG |= USART_FIFOCFG_EMPTYRX_MASK;
 
RXNOTEMPTY, RXFULL, and RXLVL are changing to 0 and staying 0  after clearing rxFIFO. Executing "base->FIFOSTAT |= USART_FIFOSTAT_RXERR_MASK" in single step mode clears RXERR to 0, but one step later RXERR returns to 1. This even happens if the UART ist disabled before clearing. UART is idle and FIFO stays empty - RXERR = 1...

 

According to the manual, RXERR should only trigger if the FIFO overflows?! Disabling the rx-FIFO clears the flag, but on re-enabling RXERR appears again...

Outcomes