Other Parts Discussed in Thread: AMIC110, SEGGER
Intermittently within an isr we're seeing incoherent data from the FIFOLvl register. For example, at the start of the interrupt it may be read as 16 (interrupt level set to 16), but when we loop through reading RHR using FIFOLvl as the indicator of when to stop (within the same interrupt), we might stop reading after 2 bytes.
Another variation of this problem is that intermittently on Receive timeout interrupt the FIFOLvl will be 0. Our code intentionally left 2 bytes in the FIFO in the previous interrupt.
Are there any known issues/caveats regarding reading FIFOLvl.
We're using the UART descrived in Chapter 19 Universal Asynchronous Receive/Transmitter TI AM335x TRM Rev P (AM335x and AMIC110 Sitara Processors)
Thanks in advance,
Paul Hetherington