Dear Forum members,
I am using UART0 with receive FIFO(16 data words) function is enabled.
It works fine normally, but once it overflowed it works weirdly.
For example, I sent strings "ABCDEFGHIJKLMLOPQRSTUVWXYZ" repeatedly to Vybrid from my PC.
After UART0 receive FIFO was overflowed, my program read D register until RXEMPT bit becomes 1.
Also my program checked RCFIFO register for debug.
Followings are register reading log.
( Left side of "=" shows register name or flag name, right side of "=" shows read value. )
( Top is oldest, bottom is newest.)
(In this case, no error was happened except fifo overrun error.)
Then Line 33, 35, 37 is weird.
I think those should be 'W', 'X', 'Y' but they are 'G', 'O', 'P'.
it seems the data in the receive FIFO was corrupted.
Are there any special rules to read from D register after FIFO was overruned?
Please help us.