Forum: Mikrocontroller und Digitale Elektronik ESP32 WROOM 3D SD-Modul SD-Karte Datei wird nicht erzeugt


von Sebastian H. (sebastian_h809)


Lesenswert?

Moin,

ich habe aktuelle das Problem, das mein eingesetzter ESP32 WROOM 3D auf 
der SD-Karte eines SD-Modul keine Datei erzeugt.

Ich bekommen zwar als Debug die Meldung, dass eine Datei erzeugt wurde, 
dann aber die Datei nicht gefunden wird.
Und die Datei exestiert wirklich nicht! Das habe ich am Laptop schon 
überprüft.
Ich habe auch unterschiedliche SD-Module ausgetestet. Bei allen 3 das 
selbe Problem.

Wenn ich das Programm beim Arduino benutze, dann klappt es.

Kann mir da vielleicht jmd weiter helfen? Ich habe natürlich auch schon 
fleißig gegoogelt. Konnte aber noch nichts brauchbares finden

Danke im Voraus für die Hilfstellung
Gruß
Sebastian

PROGRAMMIERCODE:
#include <SD.h>   // SD-Modul-Bibliothek
#include <SPI.h>  // SPI-Bibliothek

File file;        // Objekterzeugung



// Programm-Voreinstellungen
void setup() {
    Serial.begin(115200); // Serielle Verbindungsaufbau mit dem PC
    Serial.println("Initialisierung SD Karte...");

    // Signal an SD-Modul senden (Chip-Select = Arduino Pin 4)
    if(!SD.begin(5)) {  // Rückgabewert = flase: (!)
        Serial.println("Initialisierung konnte nicht durchgeführt 
werden.");
        return;
    }

    Serial.println("Initialisierung erfolgreich durchgeführt !");
    Serial.println("Erzeugung Datei...");

    //Datei-Erzeugung: Daten in Datei schreiben
    file = SD.open("testlog.txt", FILE_WRITE);
    file.close(); // schließen
    Serial.println("Datei wurde erzeugt...");
}


//Ausführbares Hauptrpogramm
void loop() {

      //Überprüfung, ob eine Datei erzeugt wurde
      if(SD.exists("testlog.txt")) {
          Serial.println("Datei exestiert.");
          file = SD.open("testlog.txt", FILE_WRITE);

          //Überprüfung, ob Datei exestiert
          if(file) {
              //Daten in Datei schreiben
              file.println("Aktelle Zeit: " + String(millis()));
              file.close();     // schließen
              Serial.println("Datei konnte beschrieben werden.");
          }
          else {
              Serial.println("Datei konnte nicht beschrieben werden.");
          }
      }
      else {
          Serial.println("Datei exestiert nicht !");
      }

      delay(1000);
}



KONSOLENAUSGABE:
Initialisierung SD Karte...
Initialisierung erfolgreich durchgeführt !
Erzeugung Datei...
Datei wurde erzeugt...
Datei exestiert nicht !

von John P. (brushlesspower)


Lesenswert?

Sebastian H. schrieb:
> //Datei-Erzeugung: Daten in Datei schreiben
>     file = SD.open("testlog.txt", FILE_WRITE);
>     file.close(); // schließen
>     Serial.println("Datei wurde erzeugt...");

du prüfst nicht ob das schreiben erfolg hatte.
Ich behaupte mal das es nicht erfolgreich ist.

hier ein bsp:

File filesd = SD.open("/ErrorLog.txt", FILE_APPEND);
    if(!filesd){
      Serial.println("- failed to open file for appending");
    }

Schreibshutz auf der SD Karte?

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.