1
0
Эх сурвалжийг харах

Merge pull request #4382 from Sunwancn/stm32-usart-8bits-parity

[drv_usart.c]修复stm32串口开启奇偶校验时字长设置错误
Bernard Xiong 4 жил өмнө
parent
commit
8afee3092a

+ 4 - 1
bsp/stm32/libraries/HAL_Drivers/drv_usart.c

@@ -114,7 +114,10 @@ static rt_err_t stm32_configure(struct rt_serial_device *serial, struct serial_c
     switch (cfg->data_bits)
     {
     case DATA_BITS_8:
-        uart->handle.Init.WordLength = UART_WORDLENGTH_8B;
+        if (cfg->parity == PARITY_ODD || cfg->parity == PARITY_EVEN)
+            uart->handle.Init.WordLength = UART_WORDLENGTH_9B;
+        else
+            uart->handle.Init.WordLength = UART_WORDLENGTH_8B;
         break;
     case DATA_BITS_9:
         uart->handle.Init.WordLength = UART_WORDLENGTH_9B;