diff --git a/FreeModbus/modbus/rtu/mbrtu.c b/FreeModbus/modbus/rtu/mbrtu.c index c023c92..aefa7bb 100644 --- a/FreeModbus/modbus/rtu/mbrtu.c +++ b/FreeModbus/modbus/rtu/mbrtu.c @@ -330,9 +330,10 @@ xMBRTUTimerT35Expired( void ) xNeedPoll = xMBPortEventPost( EV_READY ); break; - /* A frame was received and t35 expired. Notify the listener that + /* A frame was received and t35 expired. Close serial receive and notify the listener that * a new frame was received. */ case STATE_RX_RCV: + vMBPortSerialEnable( FALSE, FALSE ); xNeedPoll = xMBPortEventPost( EV_FRAME_RECEIVED ); break; diff --git a/FreeModbus/modbus/rtu/mbrtu_m.c b/FreeModbus/modbus/rtu/mbrtu_m.c index 4756f57..e5c9267 100644 --- a/FreeModbus/modbus/rtu/mbrtu_m.c +++ b/FreeModbus/modbus/rtu/mbrtu_m.c @@ -356,9 +356,10 @@ xMBMasterRTUTimerExpired(void) xNeedPoll = xMBMasterPortEventPost(EV_MASTER_READY); break; - /* A frame was received and t35 expired. Notify the listener that + /* A frame was received and t35 expired. Close serial receive and notify the listener that * a new frame was received. */ case STATE_M_RX_RCV: + vMBMasterPortSerialEnable( FALSE, FALSE ); xNeedPoll = xMBMasterPortEventPost(EV_MASTER_FRAME_RECEIVED); break;