Hallo
Ich stehe vor dem Problem das ich für eine SD karte den Datei namen
jeden Tag ändern möchte.
Das Datum ist nicht das Problem.
viel mehr das ändern der String kette für den namen.
Einer meiner letzten gemachten versuche war wie folgt:
char Dateiname [] = "0000000.CSV";
char zahl = (0);
void setup() {
Serial.begin(9600);
if (!SD.begin(4)) {
Serial.println("Karte nicht erkannt");
while (1);
}
Serial.println("Karte ok");
}
void loop() {
delay(1000);
zahl++;
Dateiname [0] = '1';
Dateiname [1] = zahl;
Dateiname [2] = '3';
Dateiname [3] = '4';
Dateiname [4] = '5';
Dateiname [5] = '6';
Dateiname [6] = '7';
Serial.println(Dateiname);
File dataFile = SD.open(Dateiname, FILE_WRITE);
if (dataFile) {
dataFile.println(Dateiname);
delay(50);
dataFile.close();
Serial.println(Dateiname);
}
else {
Serial.println("Kann nicht gelesen werden");
}
Leider wird die variable zahl nicht angenommen und endet als
undefiniertes Zeichen.
(134567.CSV) oder oder als 1%34567.CSV
Hat Jemand eine hilfreiche Idee wie ich das einfach lösen kann ?
Ich habe schon versucht die variable zahl als folat und char zuspeichern
ändert aber nix.
Und ja ich weiß das es nach 9 überlaufen würde aber so weit kommt es ja
noch nicht.
Hilfe ??
Danke
Gast
#5531716
Dateiname [1] = zahl+ 0x30; //erzeuge ASCII
Der wahnsinn ! Ich sitz 2 tage an dem mist und ich hätte nur das ergänzen müssen ? hmm toll! Vielen lieben dank scheint zu gehen.
Gast
#5531730
DAVID -. schrieb: > Vielen lieben dank scheint zu gehen. Aber nur bis 9, dann wird's "komisch".
Gast
#5531733
Vielleicht in Anlehnung and das hier?
1 | |
und diesen Mist hier weglassen?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Adam Riese schrieb: > sprintf (Dateiname, "%06d.CSV", zahl); Ja so was habe ich schon oft gelesen ich verstehe aber nicht wie % und die 06 oder gar das d da entstehen ? Kann das jemand mal Entschlüssen ? Was da genau gemacht wird ? Vielen dank
Gast
#5531740
DAVID -. schrieb: > Kann das jemand mal Entschlüssen ? Das macht du gefälligst selbst indem du ein C-Lehrbuch liest.
DAVID -. schrieb: > Kann das jemand mal Entschlüssen Google: man sprintf Das sind uuralte C-Lib Funktionen, wenn man die nicht kennt sollte man sich ein Buch über die Programmiersprache C besorgen und lesen. C ist nicht freundlich zu Anfängern und Einsteigern - Literatur Studium ist Pflicht.
Ach ja klar hätte ich auch drauf kommen müssen danke.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.