Go Down

Topic: leggere file .csv da sd card (Read 3 times) previous topic - next topic

secondsky

Ciao a tutti, è da un po' che non traffico con la libreria sd card.
Mi chiedevo se fosse semplice leggere un file csv, una riga dopo l'altra, come farebbe processing quando invia i file ad arduino, e poi vengono divisi con serial.parseInt.
Gli esempi che ho trovato nella libreria sono su file .txt e non c'era molto "parsing".
Vi ringrazio.

lucadentella

ciao

i metodi base ti consentono di aprire un file e di leggerlo carattere per carattere.
dovresti quindi:

- leggere il carattere e salvartelo in un char[]
- se il carattere è ; hai finito di leggere il campo attuale
- se il carattere è \n (o \r\n se il file è DOS) hai finito di leggere la riga
lucadentella.it

secondsky

Ti ringrazio, mi sembra fattibile.
Il metodo parseInt su arduino è applicabile solo alla seriale quindi?

pitusso

Ciao,
molte librerie per SD ti permettono di aprire un file e leggerlo riga per riga.
Per ogni riga, con la funzione strtok_r ne fai il parse in una sequenza di token, separati da un carattere (nel tuo caso ";")
Quindi riesci ad ottenere in modo veloce i vari valori.

lucadentella

parseInt è un metodo applicabile ad ogni oggetto Stream:
http://arduino.cc/en/Reference/StreamParseInt

SdFile però non è di tale tipo.
lucadentella.it

Go Up