summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
author朱天龙 (Armink) <[email protected]>2022-04-04 17:25:04 +0800
committerGitHub <[email protected]>2022-04-04 17:25:04 +0800
commit039efbb075120a1718dfe9b171432744d90e9bf2 (patch)
treec652dd814177f4a6eecada96cc8c5c433865c932 /bsp
parent78ac851c3188d33201b506f3893562186a65a2f2 (diff)
完善 Serial V2 框架 (#5770)
* [stm32] fix h7 uart V2 driver unused code. * [DeviceDriver][serialv2] fix the serialv2 when using for console device on DMA mode. * [stm32][art-pi] using serial v2 by default * [DeviceDriver][SerialV2] Add termios for serial@V2 . * [BSP][STM32] Add hardware flow control for STM32 serial@V2 driver. * [DeviceDriver][Serial@V2] Add hardware flow control for serial V2.
Diffstat (limited to 'bsp')
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_usart_v2.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_usart_v2.c b/bsp/stm32/libraries/HAL_Drivers/drv_usart_v2.c
index b399f0818a..79247b9e3e 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_usart_v2.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_usart_v2.c
@@ -119,7 +119,6 @@ static rt_err_t stm32_configure(struct rt_serial_device *serial, struct serial_c
uart->handle.Instance = uart->config->Instance;
uart->handle.Init.BaudRate = cfg->baud_rate;
- uart->handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
uart->handle.Init.Mode = UART_MODE_TX_RX;
uart->handle.Init.OverSampling = UART_OVERSAMPLING_16;
@@ -168,6 +167,19 @@ static rt_err_t stm32_configure(struct rt_serial_device *serial, struct serial_c
break;
}
+ switch (cfg->flowcontrol)
+ {
+ case RT_SERIAL_FLOWCONTROL_NONE:
+ uart->handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ break;
+ case RT_SERIAL_FLOWCONTROL_CTSRTS:
+ uart->handle.Init.HwFlowCtl = UART_HWCONTROL_RTS_CTS;
+ break;
+ default:
+ uart->handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ break;
+ }
+
#ifdef RT_SERIAL_USING_DMA
uart->dma_rx.remaining_cnt = serial->config.rx_bufsz;
#endif