Buenas de nuevo, tengo otro quebradero de cabeza...mi problema consiste en que guardo en la sd unos datos que luego represento vía web. Los guarda y los representa, pero en el momento de leer de la sd para representarlo, lo representa y despues mi programa ya no detecta ese fichero, pero no lo borra, solo no lo detecta. A traves de flags he conseguido ver que es en este metodo de leer la SD, que os dejare a continuacion, en el que deja de detectarlo, pero no se porque, ya que cierro el fichero correctamente =(
String leerSD(String nFichero){
Serial.println("Leyendo " + nFichero);
reconocerMediciones(false);
File fichero = SD.open(nFichero);
String leido;
if (fichero) {
leido = "";
while (fichero.available()) {
leido += fichero.readStringUntil("\n");
}
//Serial.println(leido);
fichero.close();
/*while(!fichero.close(){
Serial.println("Error");
}*/
//delay(20);
} else {
Serial.println("Error al abrir el fichero");
}
reconocerMediciones(false);
return leido;
}
el metodo reconocerMediciones deja de mostrarlo antes del return y no se porque!!!!!!
os dejo reconocerMediciones por si acaso..
void reconocerMediciones(boolean asignarNombre){
contador_mediciones = 0;
File archivo;
File root = SD.open("/");
do{
archivo = (root.openNextFile());
String nombre = String(archivo.name());
nombre.toLowerCase();
Serial.println(nombre);
if (!archivo.isDirectory() && nombre.substring(nombre.length() - 4) == ".txt"){
medicionesSD[contador_mediciones] = nombre;
contador_mediciones++;
}
}while(archivo);
archivo.close();
root.close();
}
Por favor ayuda y gracias por adelantado!!