Lettura seriale con array di char

SukkoPera:
Io riformulo il primo codice che hai postato:

#define BUFLEN 200

char response[BUFLEN] = {'\0'};
byte i = 0;
do {
  if (serialSIM800.available()) {
    char c = serialSIM800.read();
    Serial.write(c);
    response[i++] = c;
    response[i] = '\0';
  }
} while (i < BUFLEN - 1 && response[i] != '\n');




(Non testato)

Grazie per l'esempio ma non capisco un paio di cose.

  1. Perchè "i" è una variabile byte e non int?
  2. Dopo il ciclo do while se io volessi vedere quale carattere c'è in posizione 1 basta che io scriva Serial.write(response[1]);
    Quindi in teoria dovrebbe esserci il carattere 'K' giusto?