Ciao a tutti! XD
Ho un problema con la scrittura di un file .txt all'interno di una SD card, preceduto dalla lettura di un altro file : "index.htm", il quale però viene gestito senza alcun problema.
Lo sketch che segue fa questo :
- Leggo il file index.htm carattere per carattere, nella stringa "s"
- Stampo sia sul monitor Seriale che sul File di destinazione "test.txt" (sul file non ci finisce niente...)
- Vado a effettuare la lettura del file "test.htm" per verificare la scrittura.
#include <SPI.h>
#include <SD.h>
void setup() {
Serial.begin(9600);
if (!SD.begin(4)) { Serial.print("Errore sulla SD..."); return; }
}
void loop()
{
char c;
String s=String();
char* file_to_load = "index.htm";
File htmlFile = SD.open( file_to_load );
if (!htmlFile) {
Serial.print("Errore : Il file ' ");
Serial.print(file_to_load);
Serial.println("' non esiste!");
exit(0);
}
if (SD.exists("test.txt")) {
Serial.println("'test.txt' esiste gia'...rimozione in corso..'");
SD.remove("test.txt");
}
// Creo un nuovo file per scriverci su la versione modificata dell'altro
File myFile = SD.open("test.txt", FILE_WRITE);
// Ricevo i caratteri
Serial.println("Lettura File");
while (htmlFile.available()) {
boolean end_row = false;
s = String();
while(!end_row) {
c = htmlFile.read();
if(c == '\n'){
end_row = true;
}
s += c;
}// FINE RIGA
int i=0;
Serial.println(s);
myFile.print(s);
/*
while(myFile.write(s.charAt(i)) && i<s.length()){
i++;
} */
}
Serial.println("Scrittura Terminata");
htmlFile.close();
myFile.close();
Serial.println("Lettura del File Scritto");
myFile = SD.open("test.txt");
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
}
Ora, voi trovate errori!?
Grazie a tutti!