Ciao a tutti,
Sto scrivendo un programma ma non riesco a risolvere un problema: Devo creare un file in una funzione esterna. Il file ha un nome che decido nel programma, all'interno del loop. Il file, però, non viene creato.
Ecco la funzione esterna:
void FUNZIONE(char nome, const RtcDateTime& dt)
// il primo parametro viene passato dal loop ed è "Parola"
// il secondo parametro serve per passare alla funzione le coordinate temporali che sono
// parte di ciò che deve essere rielaborato e scritto nel file.
{
char datestring[20];
char nome_mese_anno[20];
sprintf(nome_mese_anno,"%s_%02u-%02u.csv",nome,dt.Month(),dt.Year());
// il file viene creato se sostituiscola riga qui sopra con sprintf(nome_mese_anno,"%02u-%02u.csv",dt.Month(),dt.Year());
Serial.println(nome_mese_anno);
File dataFile = SD.open(nome_mese_anno, FILE_WRITE );
// se al posto di nome_mese_anno, scrivessi direttamente "nomefile.txt", il file verrebbe creato.
dataFile.close();
// qui ci sarebbero le varie righe di codice che scrivono il file
// di seguito eseguo un controllo che restituisce su monitor seriale "IL FILE NON PUO' ESSERE APERTO"
senza dovere necessariamente estrarre la SD.
if(!(dataFile=SD.open(nome_mese_anno,FILE_READ))) Serial.println("IL FILE NON PUO' ESSERE APERTO");
dataFile.close();
}
Avete idee?