leo72:
Questo è il pezzo di codice che ho messo prima di iniziare la ricezione, che uso per svuotare il buffer:if (RS485) { //passo in RX
while (!(UCSR0A & (1 << TXC0))); //attendo che il buffer TX si svuoti
flushSerial(); //svuoto il buffer RX
digitalWrite(RXTX_RS485, RS485RX);
}
if (RS485) { //torno in TX
UCSR0A |= (1 << TXC0); //imposto il buffer TX come vuoto (1-->resetta il bit)
digitalWrite(RXTX_RS485, RS485TX);
}flushSerial è questo://svuoto il buffer in ricezione della seriale
void flushSerial() {
while (Serial.available()) {
byte temp = Serial.read();
}
}
Chi mi spiega come funziona questo codice? Nello specifico cosa fa?