problema con stringa

germino3:
Ma in teoria con "Serial.available()" non si dovrebbe uscire dal ciclo solamente quando non ci sono più caratteri in input?

Esattamente, peccato che NON tieni conto della velocità di elaborazione di Arduino rispetto alla velocità di arrivo dei caratteri ...
... dato che la MCU è più veloce, mentre ancora sta arrivando un carattere, nel buffer già non ce ne sono più e quindi, giustamente, Serial.available() ritorna 0.

Devi verificare la ricezione di un "terminatore" e solo alla sua ricezione uscire dal while() ... esempio, potresti attendere la ricezione del carattere CR (0x0D).

Guglielmo