Funziona ma non bene

void loop()  // LOOP FUNCTION
{
  inByte = Serial1.read();
  string_len=0;
  if (inByte == '!')  read_serial();  // If Start of line ("!") is found, call read_serial() function
}

Non so cosa succede se leggi dalla seriale e quella non ha dati.
Non é meglio controllare se ci sono dati da leggere?

if (Serial1.available() > 0)

Ciao Uwe