diff --git a/libraries/SoftwareSerial/src/SoftwareSerial.cpp b/libraries/SoftwareSerial/src/SoftwareSerial.cpp index 6a8c303c6c..20285fc6de 100644 --- a/libraries/SoftwareSerial/src/SoftwareSerial.cpp +++ b/libraries/SoftwareSerial/src/SoftwareSerial.cpp @@ -409,6 +409,8 @@ void SoftwareSerial::flush() noInterrupts(); _receive_buffer_head = _receive_buffer_tail = 0; interrupts(); + // wait for previous transmit to complete + while (active_out); } int SoftwareSerial::peek()