Hi experts,
My customer is unable to communicate properly with the UART at 230,400 bps.
Details are below.
When they send the data "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F" from PC to the UART of TM4C, the TM4C side can only read the data up to 07.
At this time, the Rx FIFO appears to be empty (RXFE bit = 1 in the UARTFR register).
Also, even if the UARTDR register is Read, no normal data can be read.
Then they send "10 11 12 13" data from PC, TM4C reads "08 09 0A 0B". (It seems that the sent data and received data are shifted by 8Byte)
The data shift is not constant, but with high probability, it shifts by the number of bytes set in RXIFLSEL of UART Interrupt FIFO Level Select (UARTIFLS).
Also, the following has been found.
- If the Baudrate is lowered or the transmission interval is increased, this problem becomes less likely to occur.
- They have confirmed with an oscilloscope that there is no problem with the transmitted waveform.
- No error flag such as overrun error is raised.
- The error bits such as BE, PE, FE, and the UARTRIS and UARTMIS bits remain 0. There is no error.
Do you know why the error bit is not set even though communication is not working properly?
Do you have any idea what causes this problem?
Best regards,
Sasaki