From bfd2a0bb28f7668b2b24a1ec72bf8c1e1d5cbd2e Mon Sep 17 00:00:00 2001
From: rocketscream <limphangmoh@gmail.com>
Date: Mon, 30 May 2016 19:01:06 +0800
Subject: [PATCH] Fix Serial.flush() blocking if called immediately after
 Serial.begin().

---
 cores/arduino/SERCOM.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/cores/arduino/SERCOM.cpp b/cores/arduino/SERCOM.cpp
index 71900689..a0e6c689 100644
--- a/cores/arduino/SERCOM.cpp
+++ b/cores/arduino/SERCOM.cpp
@@ -104,6 +104,8 @@ void SERCOM::enableUART()
 
 void SERCOM::flushUART()
 {
+  // Skip checking transmission completion if data register is empty
+  if(isDataRegisterEmptyUART()) return;
   // Wait for transmission to complete
   while(!sercom->USART.INTFLAG.bit.TXC);
 }
-- 
GitLab