diff options
| author | Bernard Xiong <[email protected]> | 2021-02-26 00:10:14 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-26 00:10:14 +0800 |
| commit | 8afee3092afd2e14e4fd1a9928744ae9a70a3f95 (patch) | |
| tree | 5bb2c8db545dc3780dc4c0d53e8ed6bebcc55c47 | |
| parent | aaf4696c87514fe14d6da2b502b26ecc1feb2806 (diff) | |
| parent | e22f72293e816c4f49961a64b4c4b3ef5fcce84f (diff) | |
Merge pull request #4382 from Sunwancn/stm32-usart-8bits-parity
[drv_usart.c]修复stm32串口开启奇偶校验时字长设置错误
| -rw-r--r-- | bsp/stm32/libraries/HAL_Drivers/drv_usart.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_usart.c b/bsp/stm32/libraries/HAL_Drivers/drv_usart.c index 1424a08ea1..c6e5ae8184 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_usart.c +++ b/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; |
