Wir reden von eine SD in Normalformat nicht Mini oder Micro???
Der SD-Sockel hat 2 Schalter; einen für den Schreibschutzschieber der Karte und einen für die Anwesenheit einer SD-Karte. Ich weiß jetzt nicht, ob Dein SD-Slot diese beiden Schalter benutzt und Du auf diese zugreifen kannst.
und um letzten durchlauf nicht vorhanden war
Mit einer Statusvariablen.
Würde zwischen dem Detektieren der SD-Karte und dem ersten Schreiben eine Pause einlegen.
sry für die späte Antwort. War ein paar Tage unterwegs...
uwefed:
Wir reden von eine SD in Normalformat nicht Mini oder Micro???
Ja , normale SD. Hier der Hersteller:
Eine Statusvariable habe ich eingebaut. War auch mein erster Gedanke
Also in etwa so:
if (sdlastloop == 0 && SD.exists(filename)) { //Check ob SD entfernt war und jetzt wieder da ist. Wenn ja = neue Datei
for (uint8_t i = 0; i < 100; i++) {
filename[6] = i/10 + '0';
filename[7] = i%10 + '0';
if (! SD.exists(filename)) { // only open a new file if it doesn't exist
logfile = SD.open(filename, FILE_WRITE);
break; // leave the loop!
}
}
}
logfile = SD.open(filename, FILE_WRITE); //Datei mit den namen filename wird auf SD geöffnet
if (! SD.exists(filename)) { //If the filename on SD doesn´t exists set lastloop=0
sdlastloop = 0;
}
Aber am Ziel bin ich damit wohl noch nicht.
Also selbes Ergebnis
Hallo,
das Problem bei Dir wird wohl das Root-Verzeichnis der SD sein.
Wenn Du die Karte gezogen hast, dann wird das nicht geschlossen.
Über eine irgendwann funktionierende Suche im Forum könnte man da einen Beitrag finden.
Da gibt es einen Patch/Sketch Schnipsel für die SD-Lib.
Gruß und Spaß
Andreas
wieder wochen später...
DANKE Skobymobil!
Hab das Problem mit deiner Beschreibung gefunden. Liegt wohl an der SD Lib. Habe es jetzt noch nicht getestet aber es scheint logisch und funktioniert wohl...
Für alle die auch mit SD spielen hier der Link zum Code: