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.