Domanda:
Come si specifica una directory di lavoro durante il salvataggio sulla scheda SD?
user2218339
2014-08-21 04:15:08 UTC
view on stackexchange narkive permalink

Sto cercando di registrare i dati su una scheda SD EyeFi scrivendo su un file con estensione jpg. Ecco quella parte del mio codice fino ad ora:

  // controlla se la directory esiste, creala se no.if (! SD.exists ("/ DCIM / 100NIKON")) {if ( SD.mkdir ("/ DCIM / 100NIKON")) {Serial.print ("Directory file creata:"); } else {errore ("Directory file non creata"); }} else {Serial.print ("File directory exist:");} // Test filechar filename [] = "DSCN0000.JPG"; if (! SD.exists (filename)) {logfile = SD.open (filename, FILE_WRITE); // apre un nuovo file solo se non esiste} if (! logfile) {error ("Couldnt create file");}  

Arduino crea la directory, ma il file è ancora salvato nella radice. Mi piacerebbe ricevere aiuto o suggerimenti su questo.

Una risposta:
#1
+4
Connor Wolf
2014-08-21 04:48:20 UTC
view on stackexchange narkive permalink

Stai creando una directory e quindi non ci scrivi il file .

Devi cambiare il nome del file in / DCIM / 100NIKON / DSCN0000. JPG ";

Nota che SD.open () prende il percorso completo del file , non solo il file * nome * .

Da Arduino Docs:

I nomi dei file passati alle funzioni della libreria SD possono includere percorsi separati da barre, /, es. "directory / nomefile.txt". Poiché la directory di lavoro è sempre la radice della scheda SD , un nome si riferisce allo stesso file indipendentemente dal fatto che includa o meno una barra (es. "/ file. txt "è equivalente a" file.txt "). A partire dalla versione 1.0, la libreria supporta l'apertura di più file.

(enfasi mia)

Oooh, stavo pensando che dopo aver creato una directory con mkdir, la directory diventerà automaticamente la directory di lavoro. Molte grazie!
@user2218339 - No, e per quanto ne so, non c'è nemmeno un modo per * cambiare * la directory di lavoro. È fondamentalmente cablato a "/".


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...