Go Down

Topic: Problema creazione di 2 file su SD card e inserzione parametri. (Read 110 times) previous topic - next topic

DincaLiviu

Salve, nel mio progetto devo creare due file "SACT001.txt" "SDEF001.txt" , ed inserire al loro interno dei parametri.
I file sulla SD Card vengono creati, il problema è che nel primo che viene creato mi trovo i parametri nel secondo invece no, anche se da serial monitor sembra che i parametri vengano inseriti. Invece quando apro il file, uno ha i parametri, ed uno è vuoto.  >:(

Uso un Arduino Mega 2560 con un lettore SD CARD.

In allegato inserisco una foto con il file, che ci sono dentro la SD CARD, ed il progetto.

Vorrei capire dove sto sbagliando.
Grazie.



Standardoil

Ho dato uno sguardo, e ho alcuni dubbi

Te li scrivo qui in quello che secondo me è un un'ordine di importanza decrescente


1  oggetto File è unico e globale:
Sei sicuro che la libreria Sdfat, che è un po'  limitata, permetta la cosa? Ovvero che un oggetto File possa essere riaperto dopo chiusura? Non  sei su un pc con un vero file system sotto, si tratta di un'approssimazione...

2 le scritte:
Le scritte di debug ti escono corrette?
Ovvero ti dice "apro il file" "chiudo il file" coi nomi giusti?

3 il file system
Quelle schedine sono piuttosto 'fragili" e la libreria implementa il FS in maniera limitata
Assicurati che il volume non abbia problemi  smonta la scheda e mettila in un pc e fai un check del file system  io non ho Windows, ma una volta c'era il comando CHKDSK

4 le stringhe
No, seriamente, fai uso degli oggetti stringa?
Evita. Non ho altro da dire

5 programma un po' prolisso,
Per debug e prova, in particolare del punto 1, fai un programma semplice, senza funzioni che si limitano a richiamare corrispondenti funzioni di libreria

6 variabili globali
Ne hai messe a iosa
Non è male in assoluto, ma non è buona programmazione
Non presurrò più la buona fede di chi:
NON indenta, USA la classe String o NON esegue le ricerche
E di chi non risponde alle domande Tante volte è stato segnalato che è sbagliato, quindi NON sono in buona fede
Non bado a studenti, che copino altrove

cotestatnt

Condivido le osservazioni di Standardoil, in particolare sulla poca utilità di creare delle funzioni che semplicemente espongono funzioni già incluse nella libreria.Per quanto riguarda il difetto, possibile che nel momento in cui chiami la funzione per il secondo, il micro sia ancora impegnato a "chiudere" il precedente? La libreria può lavorare solo con un file per volta. Prova ad aggiungere un piccolo delay a scopo di debug

DincaLiviu

Ok, grazie mille.
Quando riesco provo quanto suggerito sopra.

Go Up