Lettura seriale con array di char

Guarda io ho risolto utilizzando il tempo, ovvero aspettando 3 secondi.

void risposta() {
  char response[BUFLEN] ={'\0'};
  byte i = 0;
  interval=3000;
  timeElapsed=0;
  do {
    if (serialSIM800.available()) {
      char c = serialSIM800.read();
      response[i] = c;
      i++;
      response[i] = '\0';
      
    }
  } while (timeElapsed<interval);
  for (int ii=0; ii<10; ii++)
  {
    
    Serial.print(ii);
    Serial.print(':');
    Serial.print(response[ii],DEC);
    Serial.println("");
  }
}

Non so se sia il metodo migliore ma sicuramente funziona.