Problem with STM32L4 USART and RS485. MCU misreads bytes in the line
Problem is solved when I put termination resistors in the stard and end of the bus but when I do not do I have a strange behavior of the MCU that I cannot explain/understand.
Below you see the screenshot of Yellow: RS485 bus, Blue: The RX Line on the MCU.

This is a 115200 Baudrate, Even Parity, 1 Stop Bit, 8 bit communication.
All the bytes are translated correctly every time (10mil messages exchanged) BUT the very last one sometimes it is not interpreted correctly.
You see that the oscilloscope finds this message as 0x04 or 0b00100000.
The MCU finds it 0x82 or 0b01000001. I looks like shifted by one bit to the left, including its parity bit.
I consider that this is caused by the glitch at the end of the message.... but if you see this is after the stop bit! So I do not really understand this behavior...
I am not using DMA, this is a byte by byte reading, and a quick interrupt handler.
It is true that the overrun flag is triggered but I cannot really tell why..
This is when the last byte is not received properly

This is when the last byte is received properly.

So my main question is...
Since this is coming from the datasheet of the MCU:

Why something in the Next Start bit which is clearly not valid is overwriting my message creating an overrun error?
Kind Regards,
Georgios Detorakis
