修复BUG:串口启用DMA接收后,动态修改串口波特率扰乱接收检索

在串口不关闭的情况下,更改波特率后,清空上次数据检索,导致更新写入检索错误,
串口无法读出正确的数据。真实数据的位置和检索值之间总有一定的距离,导致读取
数据的时候会有一定的延时。缓冲区大,延时越长
This commit is contained in:
breederbai 2022-04-25 12:51:03 +08:00 committed by guo
parent 326abec0e7
commit 429e1cafe6
1 changed files with 3 additions and 1 deletions

View File

@ -169,7 +169,9 @@ static rt_err_t stm32_configure(struct rt_serial_device *serial, struct serial_c
}
#ifdef RT_SERIAL_USING_DMA
uart->dma_rx.last_index = 0;
if (!(serial->parent.open_flag & RT_DEVICE_OFLAG_OPEN)) {
uart->dma_rx.last_index = 0;
}
#endif
if (HAL_UART_Init(&uart->handle) != HAL_OK)