Hallo, ich habe ein char* "NAME1" und eine Globale Variable long integer "code" und möchte diese in eine Textdatei auf ein SD-Karte schreiben. Das Problem ist, dass er nur Hyroglyphen schreibt... Hat jemand eine Idee? Ich benutze die SDFat.h void KAUFSD(char* NAME1) { SdFile daten("time.csv", O_RDWR); if (!daten.isOpen()) { SdFile wrfile("time.csv", O_WRITE | O_CREAT | O_TRUNC); if (!wrfile.isOpen()) { Serial.write("Fehler beim Erstellen der Datei: "); Serial.write("time.csv"); Serial.println(); } else { Serial.write("Neue Datei erstellt: "); Serial.write("time.csv"); Serial.println(); } wrfile.close(); } else { Serial.write("Datei existiert: "); Serial.write("time.csv"); Serial.println(); } Serial.write("Name zum schreiben "); Serial.print(NAME1); Serial.println(); Serial.write("code schreiben: "); Serial.print(code); Serial.println(); daten.write (code); daten.write (";"); daten.write (NAME1); daten.write ("\r\n"); int c; daten.rewind(); Serial.write("Datei auslesen: "); Serial.println(); while ((c = daten.read()) >= 0) Serial.write(c); daten.close(); Im Seriellen Monitor wird es richtig angezeigt: Datei existiert: time.csv Name zum schreiben Herr Mustermann // Ist im char* NAME code schreiben: 2485790 // ist die long integer variable code Datei auslesen: ;Z In der Datei TIME.CSV steht: ;Z
@MartinK (Gast) >Das Problem ist, dass er nur Hyroglyphen schreibt... Hat jemand eine >Idee? Du musst die Daten genauso mit PRINT auf die SD-Karte schreiben wie auf die serielle Schnittstelle. Denn du willst ja ASCII-Text in deiner Datei haben, keine Binärdaten.
Hallo Danke für die Antwort. [quote]daten.print(code);[/quote] Mit daten.print(code); konnte ich schon mal die Long Integer in die Datei schreiben. Mit dem Namen also daten.print(NAME1); hat das leider nicht geklappt. Da wird kein Zeichen ausgegeben.
Hmm, das kann ich kaum glauben, denn die member functions sollte SDFat von Print.h geerbt haben. https://mosquino.googlecode.com/hg/libraries/sdfatlib-mosquino/html/class_print.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.