Судя по мануалу к STM32F10ххВ:
Data register (USART_DR)
Bits 8:0 DR[8:0]: Data value.
Contains the Received or Transmitted data character, depending on whether it is read from
or written to.
---
When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the
value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because
it is replaced by the parity.
When receiving with the parity enabled, the value read in the MSB bit is the received parity
bit.
Получается, с включенным контролем чётности невозможно передавать данные в 9-ти битном формате, так как девятый бит заменяется битом чётности?
Ну это ладно.
Но вот второе - ну зачем мне бит чётности нужен в виде MSB? Там же аппаратный контроль!
Получается, чтобы принимать байты с контролем, надо устанавливать ширину 9 бит?