Ho trovato questo sorgente che legge dati da un file di configurazione... ma per il mio C un po' sempliciotto è troppo complicato... :~
Come dovrebbe essere fatto il file?
if (SD.exists("config.txt"))
{
CFile = SD.open("config.txt");
if (CFile)
{
// read from the file until there's nothing else in it:
while (CFile.available())
{
inVal = CFile.read();
if((inVal=='\r') || (inVal=='\n') || (i>LINE_LEN))
{
// end of line
configData[i] = '\0';
if(i>0)
{
if (!strncmp( configData, "BAUD", 4 ))
{
GetParam(configData, param);
config.baud = (unsigned int) strtoi(param);
}
if (!strncmp( configData, "FILE", 4 ))
{
GetParam(configData, param);
strcpy(config.fileprefix, param);
strcat(config.fileprefix,".");
}
}
i=0;
}
else
{
configData[i]=inVal;
i++;
}
}
}
else
{
// file doesn't exist or cant open it
}
// close the file:
CFile.close();
}
Manca la funzione GetParam che legge i parametri dal file, per capire quanti byte legge per volta.
Comunque da quel che si capisce, legge ogni riga e cerca le stringhe BAUD e FILE e legge i parametri seguenti se le trova.
leo72:
Manca la funzione GetParam che legge i parametri dal file, per capire quanti byte legge per volta.
Comunque da quel che si capisce, legge ogni riga e cerca le stringhe BAUD e FILE e legge i parametri seguenti se le trova.
quindi così?
BAUD 9600
FILE test.txt
Nessun vincolo su lunghezza del nome e lunghezza/tipo del valore?
Senza vedere quanti caratteri legge non so dirti.
Non so neanche se ci vuole oppure no un separatore fra quelle stringhe ed i dati che identificano.
Non hai tutto il codice?