Hallo HK007,
habe mal einen Datenlogger programmiert, der wahlweise die Daten aufzeichnet und dann für das
Programm LogView über USB ausgibt. Hatte da so einige Probleme, das Ende der Datei wurde nicht
richtig erkannt (konnte mir leider keiner helfen), beim Zeichenweisen einlesen von SD und Ausgabe via
USB kam es zur teilweise fehlerhaften Ausgabe. Deshablb lese ich erst einen kompletten Datensatz ein und gebe
ihn dann aus.
Als Endeerkennung schreibe ich beim Loggen dann "ende" als Abschluss.
Hier mal der Ausschnitt Lesen :
void lesen()
{
// Serial.println("Start lesen");
File dataFile = SD.open(Ausgabe);
digitalWrite(LED,HIGH);
//String dataString = "$1;1;0;";
dataString = "$1;1;0;";
while(true)
{
char ttt=(dataFile.read());
if( ttt=='e')
{ Serial.println();
Serial.println("Ende");
while(1);
}
if(ttt=='B')
{
dataString +="0";
dataString +=13,DEC;
digitalWrite(LED,HIGH);
delay(50);
Serial.println(dataString);
digitalWrite(LED,LOW);
ttt=(dataFile.read());
ttt=(dataFile.read());
ttt=(dataFile.read());
ttt=(dataFile.read());
ttt=(dataFile.read());
//dataString = "";
dataString= "$1;1;0;";
//Serial.println("Satzende");
}
dataString +=ttt;
//Serial.println(dataString);
continue;
}
digitalWrite(LED,LOW);
}
Gruss Kalli