Skip to content

Commit 7fad702

Browse files
TomKeddiecmaglie
authored andcommitted
Change flush semantics to match AVR, fixes #82
1 parent 4bba56f commit 7fad702

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

cores/arduino/SERCOM.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ void SERCOM::enableUART()
105105
void SERCOM::flushUART()
106106
{
107107
// Wait for transmission to complete
108-
while(sercom->USART.INTFLAG.bit.DRE != SERCOM_USART_INTFLAG_DRE);
108+
while(!sercom->USART.INTFLAG.bit.TXC);
109109
}
110110

111111
void SERCOM::clearStatusUART()
@@ -161,8 +161,8 @@ uint8_t SERCOM::readDataUART()
161161

162162
int SERCOM::writeDataUART(uint8_t data)
163163
{
164-
//Flush UART buffer
165-
flushUART();
164+
// Wait for data register to be empty
165+
while(!isDataRegisterEmptyUART());
166166

167167
//Put data into DATA register
168168
sercom->USART.DATA.reg = (uint16_t)data;

0 commit comments

Comments
 (0)