SukkoPera:
Perché un singolo byte è sufficiente per contare da 0 a 255. Puoi usare anche un int ma in questo caso è "esagerato".Il resto è corretto.
In questo momento il mio loop() è questo:
void loop() {
serialSIM800.write("AT\r\n");
risposta();
}
void risposta() {
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] != '\r');
}
Così però funziona solo al primo giro e anche aggiungendo il comando Serial.write(response[1]); non mi stampa nessun valore.