Esempio banalissimo e ... senza controllo dell'overflow (... che DEVE invece essere implementato) e senza il controllo di tante altre cose ... ![]()
Mi aspetto al massimo 10 caratteri terminati da CR (0x0D) :
char inpBuffer[11];
char inpChar;
byte idxBuffer;
...
...
idxBuffer = 0;
while ( Serial.available() ) {
inpChar = Serial.read();
if (inpChar == 0x0D) break;
inpBuffer[idxBuffer] = inpChar;
idxBuffer++;
inpBuffer[idxBuffer] = 0x00
delay(1);
}
Nota che il buffer dove metti i caratteri deve essere un carattere più lungo per permettere l'inserimento dell'indicatore di fine stringa (0x00) !
Ripeto ... questo è solo un punto di partenza ... da estendere ... ![]()
Guglielmo