浏览代码

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

[drv_usart.c]修复stm32串口开启奇偶校验时字长设置错误
Bernard Xiong 4 年之前
父节点
当前提交
8afee3092a
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      bsp/stm32/libraries/HAL_Drivers/drv_usart.c

+ 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;