From 284744b7b21cdf12f7137b7c1a2d75e941a313af Mon Sep 17 00:00:00 2001 From: Bluebear233 <417350690@qq.com> Date: Wed, 13 Jun 2018 21:45:03 +0800 Subject: [PATCH] Update serial.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rx_fifo->is_full已经满时继续更新rx_fifo->get_index --- components/drivers/serial/serial.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 1de1331344..5365026724 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -421,7 +421,6 @@ static void rt_dma_recv_update_put_index(struct rt_serial_device *serial, rt_siz /* force overwrite get index */ if (rx_fifo->put_index >= rx_fifo->get_index) { - rx_fifo->get_index = rx_fifo->put_index; rx_fifo->is_full = RT_TRUE; } } @@ -437,10 +436,15 @@ static void rt_dma_recv_update_put_index(struct rt_serial_device *serial, rt_siz rx_fifo->put_index %= serial->config.bufsz; } /* force overwrite get index */ - rx_fifo->get_index = rx_fifo->put_index; rx_fifo->is_full = RT_TRUE; } } + + if(rx_fifo->is_full == RT_TRUE) + { + rx_fifo->get_index = rx_fifo->put_index; + } + if (rx_fifo->get_index >= serial->config.bufsz) rx_fifo->get_index = 0; }