SD-Karte nutzen - Compilation error: exit status 1

Hallo,

ich habe mir den Beispielcode heruntergeladen und möchte mal mit einer SD-Karte spielen.
Leider erhalte ich beim kompilieren einfach nur die Meldung "Compilation error: exit status 1".

Hier der Sketch, Unverändert. Als Board nutze ich ein ESP8266MOF 12-F von Az-Delivery

/*
  SD card datalogger

  This example shows how to log data from three analog sensors
  to an SD card using the SD library.

  The circuit:
   analog sensors on analog ins 0, 1, and 2
   SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4

  created  24 Nov 2010
  modified 9 Apr 2012
  by Tom Igoe

  This example code is in the public domain.

*/

#include <SPI.h>
#include <SD.h>

const int chipSelect = 4;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(115200);

  Serial.print("Initializing SD card...");

  // see if the card is present and can be initialized:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    // don't do anything more:
    return;
  }
  Serial.println("card initialized.");
}

void loop() {
  // make a string for assembling the data to log:
  String dataString = "";

  // read three sensors and append to the string:
  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    dataString += String(sensor);
    if (analogPin < 2) { dataString += ","; }
  }

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  // if the file is available, write to it:
  if (dataFile) {
    dataFile.println(dataString);
    dataFile.close();
    // print to the serial port too:
    Serial.println(dataString);
  }
  // if the file isn't open, pop up an error:
  else { Serial.println("error opening datalog.txt"); }
}

Stelle in der IDE bei Einstellungen Fehlermeldungen auf "Alle" und gib uns bitte die komplette Fehlermeldung in Codetags.

Gruß Tommy

Der Code kompiliert fehler- und warnungsfrei.
Deine Fehlermeldung ist nicht aussagekräftig, da wichtige Informationen fehlen.

DATEI - VOREINSTELLUNGEN
und da die haken richtig setzen und die Einstellung vervollständigen.
grafik

Dann die gesamte (!) Meldung aus dem fenster mit dem Button - FEHLERMELDUNG KOPIEREN - hier einsetzen.

Es sieht so aus, als würden Dir Programmteile fehlen - das kann man aber erst sagen, wenn man weiss, was Du da hast.

alles klar, hier die komplette Ausgabe:

In file included from C:\Users\Tobias 2023\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\SD\src/SD.h:25,
                 from C:\Users\Tobias 2023\AppData\Local\Temp\.arduinoIDE-unsaved202423-15160-1xj1rds.tqx\Datalogger\Datalogger.ino:24:
C:\Users\Tobias 2023\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\SDFS\src/SDFS.h: In member function 'virtual int sdfs::SDFSFileImpl::availableForWrite()':
C:\Users\Tobias 2023\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\SDFS\src/SDFS.h:279:31: error: 'using element_type = class File32' {aka 'class File32'} has no member named 'availableSpaceForWrite'; did you mean 'availableForWrite'?
  279 |         return _opened ? _fd->availableSpaceForWrite() : 0;
      |                               ^~~~~~~~~~~~~~~~~~~~~~
      |                               availableForWrite
Mehrere Bibliotheken wurden für "SdFat.h" gefunden
  Benutzt: C:\Users\Tobias 2023\OneDrive\Dokumente\Arduino\libraries\SdFat_-_Adafruit_Fork
  Nicht benutzt: C:\Users\Tobias 2023\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\ESP8266SdFat
Mehrere Bibliotheken wurden für "SD.h" gefunden
  Benutzt: C:\Users\Tobias 2023\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\SD
exit status 1

Compilation error: exit status 1

Ich rate mal, weil das irgendwie noch immer nicht vollständig ist:
Du versuchst das für einen ESP8266 zu kompilieren?

Ja, das ist ein 8266.
Aber mehr steht da nicht

Oder wolltest du den gesamten Code der mir jetzt beim Kompilieren angezeigtwird?

Diese Fehlermeldung lässt auf einen IN DER IDE Falsch Eingetragenes bzw. nicht gefundenes Board schließen.

Der Code kann OK sein, aber die IDE ist nicht mit den Board einverstanden.

Bei den ESP-Teilen muss man i.d.R. die "Board-Treiber" in der IDE nach installieren. Wenn man das hat, steht das Board bei richtiger Auswahl in der IDE.

Variante 2: Der Board-Treiber für Windows ist nicht richtig installiert.
Gehe dazu in den Geräte-Manager und prüfe an welchen COM-Port das Board angemeldet ist. Und ob dieser Port in der IDE eingetragen ist.

Ps: Gib auch bitte mal die Version der IDE an, die du benutzt.

@alle_anderen.
Ich hatte diese Fehlermeldung als ich ein Code für eine ESP32 auf einen "in der IDE angemeldeten" Nano irrtümlich schieben wollte.

Gruß

Pucki

Es wäre einfacher gewesen.
Aber ich hab ja gut geraten.
Die Adafruit-lib scheint Dir einen Streich zu spielen und nicht kompatibel zu sein.
Und je nach Alter und Stand, kann die früher mal funktioniert haben.

M.E. braucht es die nicht.
Ich würde den Ordner

C:\Users\Tobias 2023\OneDrive\Dokumente\Arduino\libraries\SdFat_-_Adafruit_Fork

löschen und dann nach der Anleitung.
MIt entsprechenden Hinweisen auch was die Pinbelegung und die Konfiguration / Kompatibilität angeht.

https://microcontrollerslab.com/micro-sd-card-module-esp8266-nodemcu/haben.

Perfekt, Vielen Dank!

Mit dem Löschen der lib war das Problem beseitigt

1 Like

Schon wider Unsinn "exit status 1" kann alles bedeuten auch fehlenden Semikolon.

Nicht wenn wie gesagt, die Compilierung sauber durchläuft.

Und die Fehlermeldung wurden erst NACH mein Post gezeigt.

Gruß

Pucki

Ich fürchte Du meinst das ernst.

Was hast Du an "exit status 1" nicht verstanden?

Langsam werde ich sauer.

Wie schon oben klar erwähnt, ist das bei mir passiert mit einen SAUBEREN Code und nur den falschen Board eingestellt.

Da kam keine Fehlermeldung bei Compilieren. NUR beim Hochladen.

Gruß
Pucki

Sehr gut dann solltest du lesen was alles in #4 steht! Auch die Fehlermeldung, danach erstmal Vorschläge machen!
Das alles was du im #7 schreibst hat nichts mir dem Fehler zu tun.

So wie ich das sehe, hast du viel Fantasie!
Was ja nicht schlimm ist, eigentlich.....

Leider ist es allerdings so, dass man nicht alles mit/durch Fantasie kompensieren kann.
Zudem kann man, wenn man die eigene Fantasie auf andere projiziert, fürchterlich schnell in die irre laufen, bzw andere in die Irre schicken.

Da in etwa, liegt der Hase im Pfeffer.
Wir müssen leider manchmal gegen dich arbeiten, damit das nicht aus dem Ruder läuft.

Glaube mir, das schmeckt keinem von uns.
Denn das macht keinen Spaß, weder dir, mir noch den anderen.

1 Like

Du erzählst Unsinn! Und das ist so haarsträubend, das sich beim lesen sämtliche Fussnägel hochrollen müssen.

Für den Fall, dass es Dir noch nicht bekannt sein sollte, beschäftige Dich mit AVR-DUDE.
Du hast nicht einmal das notwendige Grundlagenwissen um die IDE sicher zu bedienen. Tu mir einen Gefallen. beschäftige Dich dringend mit den Dingen, mit denen Du arbeitest, bevor Du irrige Schlussfolgerungen ziehst und anderen damit Schaden zufügst.

Solch ein, Dein, Verhalten kenne ich nur aus einer ganz anderen Szenerie. Ich wüsste gerne, was Dich treibt.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.