INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Werte aus der SD - Karte zuordnen
11.09.2015, 13:41 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2015 13:41 von HaWe.)
Beitrag #17
RE: Werte aus der SD - Karte zuordnen
zum Schreiben: lies mal mit deinem PC, was in den Dateien drinsteht.
du verwendest aber auch nicht meine Funktionen, die ich dir empfohlen habe, daher kann ich mich dazu auch nicht weiter äußern.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2015, 14:08
Beitrag #18
RE: Werte aus der SD - Karte zuordnen
Hallo HaWe,

wie ich schon geschrieben habe da steht das drinne was er auch reinschreiben soll ... nur beim lesen kommt nicht das raus was rauskommen soll.

bin im grunde froh das ich bis hier her gekommen bin aber bei klein macht sich frust breit das ich den sch... am liebsten in die ecke feuern möchte [Bild: sd.PNG]

die werte sind alle da

gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2015, 16:23
Beitrag #19
RE: Werte aus der SD - Karte zuordnen
Hallo,

ich hab hier mal nen Beispielcode gefunden.

Geht sogar. Vielleicht hilft er.

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

#define FILENAME "dlca.txt"
File myFile;

float tempSoll_One, tempAbweichung, tempWarnung, tempSoll_Two;

void initSD()
{
  Serial.print("Initializing SD card...");
   pinMode(10, OUTPUT);  
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
}

void writeSD()
{
  // Die Datei auf die SD-Karte schreiben
  myFile = SD.open(FILENAME, FILE_WRITE);
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.println("Datei bereit zum Schreiben");
    myFile.println("24 // Soll-Temp1");
    myFile.println("0.5 // Abweichung");
    myFile.println("1.5    // Warnung");
    myFile.println("22 // Soll-Temp2");
    myFile.close(); // close the file:
    Serial.println("Datei wurde auf SD-Karte erstellt.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening file for writing");
  }
}

void readOneLine()
// Hinweis: Datei muss bereits zum Lesen geöffnet sein,
// wenn diese Funktion aufgerufen wird.
{
  char linebuf[40]; // 40 reicht für Zeilen bis 37 Zeichen Länge + CR+LF+\0
  int counter=0;
  memset(linebuf,0,sizeof(linebuf)); // ausnullen des Zeilenspeichers
  while (myFile.available()) {
    linebuf[counter]=myFile.read();
    if (linebuf[counter]=='\n') break; // Zeilenende, Schleife verlassen
    if (counter<sizeof(linebuf)-1) counter++;
  }
  // Jetzt wurde bis zum Zeilenende oder bis zum Dateiende gelesen
  // und nun nachschauen, was gelesen wurde und in Variablen packen
  // Achtung, es kommt auf exakte Gross- und Kleinschreibung an!
  if (strstr(linebuf,"Soll-Temp1")) tempSoll_One=atof(linebuf);
  else if (strstr(linebuf,"Soll-Temp2")) tempSoll_Two=atof(linebuf);
  else if (strstr(linebuf,"Soll-Temp2")) tempSoll_Two=atof(linebuf);
  else if (strstr(linebuf,"Abweichung")) tempAbweichung=atof(linebuf);
  else if (strstr(linebuf,"Warnung")) tempWarnung=atof(linebuf);
  else
  {
    Serial.print("Zeile ohne Variablen: ");
    Serial.println(linebuf);
  }
}


void readSD()
{
  // re-open the file for reading:
  myFile = SD.open(FILENAME);
  if (myFile) {
    Serial.println("Datei bereit zum Lesen:");
    // Bis zum Dateiende zeilenweise auslesen
    while (myFile.available()) {
      readOneLine();
    }
    // close the file:
    myFile.close();
    Serial.println("Datei wurde gelesen");
  } else {
      // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}




void setup()
{
// Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
  initSD();
  writeSD(); // Diese Zeile muss nur einmal laufen und kann dann auskommentiert werden
  readSD();
  // Mal nachschauen ob etwas gelesen wurde:
  Serial.print("Soll-1: ");Serial.println(tempSoll_One);
  Serial.print("Soll-2: ");Serial.println(tempSoll_Two);
  Serial.print("Abweichung: ");Serial.println(tempAbweichung);
  Serial.print("Warnung: ");Serial.println(tempWarnung);
}

void loop()
{
    // nothing happens after setup
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.09.2015, 12:48
Beitrag #20
[GELÖST] Werte aus der SD - Karte zuordnen
hier noch mal eine kurze rückmeldung

Fehler erfolgreich gefunden

Code:
pl5 = SD.open("last5.txt", FILE_READ);
  if (pl5) {
    Serial.println("last5.txt:");
    while (pl5.available()) {
      int pe = pl5.parseInt();  // <------ Fehler
    }
    pl5.close();
  } else {
    Serial.println("error opening last5.txt");
  }
  Serial.println(pe, 5);

im gegensatz zum O-Text " Serial.write(myFile.read()); " was verwirrend war..
egal bis hier her aber es geht, das ist wichtig .. von daher als Gelöst

aber wie heist das so schön der fehler steckt im detail ... Guck mal hier

gruss und happy weekend
Gandi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Se(h)Karte mit LED beleuchten manfredo 29 649 19.11.2016 16:29
Letzter Beitrag: Tommy56
  SD Karte wird nicht erkannt... Maxi290997 2 208 16.08.2016 14:36
Letzter Beitrag: Maxi290997
  Gewichteten Durchschnitt berechnen, 20 Werte in fortlaufender Variable speichern TimeMen 10 476 03.07.2016 09:00
Letzter Beitrag: Binatone
  Ausgabe druckt immer 2 Werte anstatt nur einen. Finde den Fehler nicht TimeMen 24 743 02.07.2016 14:18
Letzter Beitrag: hotsystems
  char* inhalt in eine Datei auf SD-Karte schreiben MartinK 0 342 30.03.2016 16:42
Letzter Beitrag: MartinK
  Problem: RFID code mit Inhalt einer Textdatei auf einer SD Karte vergleichen MartinK 6 514 29.03.2016 16:45
Letzter Beitrag: MartinK
  Werte an anderes Programm weiterleiten Typ 2 438 12.03.2016 23:28
Letzter Beitrag: Typ
  digitale Werte trotz Stromunterbrechung nicht verlieren goldfisch 63 4.243 06.01.2016 13:17
Letzter Beitrag: Bitklopfer
  werte vom MPU6050 gy521 bekommen max1798 0 463 18.12.2015 21:11
Letzter Beitrag: max1798
  SD-Karte schreiben mit Mega2560 und CTE70-Display tupper-meister 12 1.436 29.11.2015 11:57
Letzter Beitrag: tupper-meister

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste