New Line in SD-Karte schreiben

Ich habe 5 Ds18B20, deren Daten einwandfrei in eine SD-Mini-Karte geschrieben werden. Diese werden aber kontinuierlich geschrieben zwar mit Kommata aber ohn CR/LF (was ich gerne möchte). Die 5 temperaturwerte werden als Array bereitgestellt und der Reihe nach in die SD-Karte geschrieben.

Ich habe gesucht wie der Teufel, aber nichts gefunden. Mein Versuch:

  for (int DScount = 0; DScount < 5; DScount++){
  
File dataFile = SD.open("datalog4.txt", FILE_WRITE);

  // if the file is available, write to it:
  if (dataFile) 
  {    
    dataFile.print(Temperatures[DScount]);
    dataFile.print(", ");
   /*if (DScount=4){
      dataFile.println();
    }*/
    dataFile.close();
  }  
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");

Der auskommentiete Teil lässt den Zähler DScount nicht weiterlaufen. Dabei wollte ich nur einen Zeilenwechsel erreichen.

Wer weiß wo der Hase begraben ist?

Eberhard

Dann werde ich den Hasen halt mal ausgraben: in der if-Anweisung musst du das Gleichheitszeichen doppelt schreiben, also ==.
Und noch eine Frage: Warum öffnest du in jedem Schleifendurchgang die Datei neu? Geht das nicht einmal vor der Schleife? Also Datei zum Schreiben öffnen, Schleife ausführen, Datei schließen?

Hallo sth77,

ich habe zwei Sache gemacht:

  1. Das doppelte Gleichheitszeichen eingetragen
  2. Das Öffnen und Schließen der Datei aus der Schleife genomen.

Und jetzt kann Ostern dank des ausgegrabenen Hasen wieder kommen. Es geht! Ich war zwar nicht weit weg, aber dicht daneben ist halt auch vorbei!

Danke.
Eberhard