From f18a0409a1dbb058f3ba84d5567b302c95e02c6c Mon Sep 17 00:00:00 2001 From: aleks Date: Tue, 21 Feb 2023 17:20:36 +0100 Subject: [PATCH] fix master parity flush buffer on fail --- freemodbus/port/portserial_m.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/freemodbus/port/portserial_m.c b/freemodbus/port/portserial_m.c index 7fbe0ac..d27584d 100644 --- a/freemodbus/port/portserial_m.c +++ b/freemodbus/port/portserial_m.c @@ -240,10 +240,14 @@ static void vUartTask(void* pvParameters) //Event of UART parity check error case UART_PARITY_ERR: ESP_LOGD(TAG, "uart parity error."); + xQueueReset(xMbUartQueue); + uart_flush_input(ucUartNumber); break; //Event of UART frame error case UART_FRAME_ERR: ESP_LOGD(TAG, "uart frame error."); + xQueueReset(xMbUartQueue); + uart_flush_input(ucUartNumber); break; default: ESP_LOGD(TAG, "uart event type: %d.", xEvent.type);