Добрый день.
Потребовалось использовать контроль четности в USART (STM32f103) и возникла проблема. При отсутствии контроля четности прием идет правильно. Например посылка:
01 04 00 41 00 01 224 02
принимается должным образом.
При включении контроля четности, например odd принимаю ту же самую посылка следующим образом:
01 04 256 41 256 01 224 02
Т.е. вместо 0 принимается 256
Вот код инициализации USART:
RCC->APB2ENR|=RCC_APB2ENR_USART1EN;
USART1->CR1=USART1->CR2=USART1->CR3=0;
USART1->BRR=CPU_CLOCK/BAUD_RATE;
USART1->CR1|=USART_CR1_M;
USART1->CR1|=USART_CR1_PCE;
USART1->CR1|=USART_CR1_PS;
USART1->CR1|=USART_CR1_TE;
USART1->CR1|=USART_CR1_RE;
USART1->CR1|=USART_CR1_TCIE;
USART1->CR1|=USART_CR1_RXNEIE;
Подскажите в чем может быть дело.