Ciao a tutti!
Come da titolo ho un problema quando esegue il comando AT+CIPSEND per ottenere la risposta e salvara in un'apposita variabile di tipo string, non mi viene salvata tutta ma solo la prima parte, anche per riposte piccole tipo di lunghezza 500.Se invece di salvare la risposta in una variabile stringa stampo direttamente byte per byte sulla porta seriale allora mi viene visualizzato tutto il contenuto, solo che io ho estremamente bisogno di salvare la risposta perchè contiene un json e lo devo parsare,ho provato anche comprare un altro arduino credendo fosse un difetto di fabbrica ma niente...
Qualche consiglio?
Grazie mille in anticipo!
Ah dimenticavo vi posto la funzione magari vi può aiutare a risolvere il mio problema:
String send_AT_ESP8266(String command,int wait,String lastStr)
{
char readByte;
String responseSTR = "";
esp8266.println(command);
int findLastStr;
unsigned long timeout;
continua:
timeout = millis() + wait;
while (esp8266.available() == 0)
{
findLastStr = responseSTR.indexOf(lastStr);
if ((millis() > timeout) || (findLastStr >= 0) )
{
if (findLastStr >= 0)
Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
else
Serial.println("---------------------------------------------------");
if(DEBUG) // se la modalita debug è attiva
Serial.println(responseSTR);
delay(100);
return responseSTR;
}
}
while(esp8266.available() )
{
readByte = esp8266.read(); // leggo un byte
responseSTR.concat(readByte);//+= readByte;
}
goto continua;
}