А он не может сбрасываться из-за чтения регистра статуса? Bit 1 FE: Framing error
This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by a software sequence (an read to the USART_SR register followed by a read to the USART_DR register).
0: No Framing error is detected
1: Framing error or break character is detected
По-моему у вас как раз такая software sequence. Или нет?