Do you think USART is correctly programmed for 7E1 conditions?
No. Parity might appear to ''work'' for about half the bit patterns, and the stop bit is a problem. Once the receiver registers a parity error, that needs to be cleared before more data arrives. You'd be better to program the USART as 8N1, and create the ''parity'' bit in software (ie 7+1 bits = 8 bits)
Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
''It 's not defined the option USART_WordLength_7b''
Are you sure that the hardware supports it? What does the Datasheet/User Manual say?
A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.