Datei auf SD mit Text füllen

Hallo,
ich habe folgendes Sketch:

#include <SD.h>

File datei;

void setup()
{
  Serial.begin(9600);
while (!Serial)
{
;//Auf seriellen Port vom Leonardo warten
}


Serial.print("Initialisiere SD Karte...");
pinMode(10, OUTPUT);

if(!SD.begin(10))
{
  Serial.println("Initialisierung fehlgeschlagen!");
  return;
}
Serial.println("SD Karte Initialisiert");
if (SD.exists("templog.txt"))
{
  Serial.println("templog.txt exists.");
}
else
{
  Serial.println("templog.txt existiert nicht.");
}

Serial.println("Erstelle templog.txt...");
  datei =SD.open("templog.txt", FILE_WRITE);
  if (datei) 
  datei.print("test");
  datei.close();
  
if (SD.exists("templog.txt"))
{
  Serial.println("templog.txt exists.");
}
else {
  Serial.println("templog.txt existiert nicht.");
}
Serial.println("Entferne templog.txt...");
SD.remove("templog.txt");

if (SD.exists("templog.txt"))
{
  Serial.println("templog.txt existiert.");
}
else 
{
  Serial.println("templog.txt existiert nicht.");
}
}

void loop()
{
}

Die Datei wird auch ganz normal auf meiner SD Karte gespeichert, nur bekomme ich keine Statustexte auf dem seriellen Monitor angezeigt und die Datei bleibt leer.
Und das obwohl ich im Sketch folgendes geschrieben habe:

Serial.println("Erstelle templog.txt...");
  datei =SD.open("templog.txt", FILE_WRITE);
  if (datei) 
  datei.print("test");
  datei.close();

Wenn das falsch wäre, würde ich doch eine Fehlermeldung bekommen, oder nicht?

Gruß Denis

nur bekomme ich keine Statustexte auf dem seriellen Monitor angezeigt

Gar keine ?

D.h. weder

    SD Karte Initialisiert

noch

    Entferne templog.txt...

Was passiert, wenn vorher eine Datei templog.txt mit Inhalt existiert ? Bleibt dieser Inhalt unverändert erhalten ?

Du solltest übrigens ansehen, was Tool -- automatisch Formatieren aus

  datei =SD.open("templog.txt", FILE_WRITE);
  if (datei) 
  datei.print("test");
  datei.close();

macht: 1. besser lesbar, 2. logische Fehler in Form fehlender Klammern werden sichtbar.

Danke für den Tip mit dem automatischen formatieren.
Stimmt, ich bekomme nicht eine einzige Meldung auf dem seriellen Monitor.
Habe nun auch mal eine templog datei auf der Karte mit text gefüllt, aber auch danach passierte nichts.
Keine Anzeige und keine Änderung an der Datei.

Also fehlt vermutlich die Ausgabe von

 Serial.println("Initialisierung fehlgeschlagen!");

Schliess den Serial Monitor an und drück danach die Reset-Taste ...

Funktioniert der cardinfo Beispiel-Sketch ...

Bau mal ein delay in setup() ein...

Also theoretisch sollte das Sketch laufen, oder?
Ich hab noch irgendein Problem mit meinem SD Modul. Das INFO Sketch funktioniert nicht!
Was ich komisch finde, denn die templog datei wird ja ohne inhalt erstellt.
Ich denke mal das es mit dem leonardo noch einige Probleme gibt oder noch etwas in der Bibliothek angepasst werden muss.
Denn nachdem ich ein delay eingebaut habe passierte auch nichts.

Also theoretisch sollte das Sketch laufen, oder?
Ich hab noch irgendein Problem mit meinem SD Modul. Das INFO Sketch funktioniert nicht!

Ja, dein Code ist so ok:

File f = SD.open();
if (f) {
 // open hat geklappt
}
else {
 // open failed
}

Was heisst denn "funktioniert nicht" ? CardInfo sollte Fehlermeldungen liefern, wenn es Probleme mit der SD Card hat.
Wenn du weiterkommen willst, schau dir mal den Sourcecode von SD.begin() an, das sind nur 3 Initialisierungen nacheinander.
Evtl. hilft es rauszukriegen, wie weit es läuft, indem du dies in deinem eigenen sketch Schritt für Schritt mit Fehlermeldungen nachbaust...

Aber, nachdem ich diesen Satz gelesen hab:

The Leonardo has some slight differences in the capabilities and assignments of various pins (especially for SPI and TWI). These are detailed on the hardware page
....
SPI: on the ICSP header. These pins support SPI communication using the SPI library. Note that the SPI pins are not connected to any of the digital I/O pins as they are on the Uno, They are only available on the ICSP connector. This means that if you have a shield that uses SPI, but does NOT have a 6-pin ICSP connector that connects to the Leonardo's 6-pin ICSP header, the shield will not work.

frag ich erstmal nicht nach Besonderheiten deines SD Moduls oder deiner Speicherkarte (hast du einen UNO, mit dem es funktioniert ?) sondern eher :
Kannst du die MISO / MOSI /SCLK Signale von dort holen ?

Das mit den ICSP hatte ich auch alles gemacht.
Da ich dann aber gestern durch den ganzen Frust mich dazu entschlossen habe den Leonardo umzutauschen, habe ich mir dann einen uno smd gekauft.
Dort funktioniert jetzt auch alles so wie es sein sollte. anscheinen hätte ich noch einiges in den Bibliotheken ändern müssen. Da ich das aber durch meine Unkäntniss nicht kann, ist es mir so nun lieber.
Dennoch danke für die Hilfe. Ich bekomme nun auch alle Daten richtig auf dem seriellen Monitor ausgegeben.