Habe mir grad noch den Rest deines Programms angeschaut:
Code:
'_______________________________________________________________________________
'Daten auf SD - Card schreiben:
Datei_erstellen:
Print "Datei erstellen..."
'Datei wird erstellt oder überschrieben!!!!
Open "LOG.txt" For Append As #1
'Print #1 , "Datenlogger 1000 SD" 'Variable auf SD schreiben
'Print "LOF: " ; Lof(#1) ; " Zeichen gesamt"
'Print Loc(#1) ; "LOC" 'aktuelle Stelle von wo gelesen / geschrieben wird
Close #1 'Datei schließen
Print "Datei erstellt und geschlossen"
Return
Sd_schreiben:
''Portd.7 = 1 'led grün an für schreiben
'Datei öffnen
Open "LOG.txt" For Binary As #1
'Print "LOF: " ; Lof(#1) ; " Zeichen insgesamt"
Ltemp = Lof(#1) + 1 'Stelle festlegen von wo geschrieben wird
Seek #1 , Ltemp 'set the filepointer
'Print Ltemp ; " = Ltemp"
Print #1 , Zu_schreiben 'Variable auf SD schreiben
Print Zu_schreiben 'Variable auf COM / PC anzeigen
Close #1
''Portd.7 = 0 'led grün aus für schreiben beendet
Return
Die Sub Datei_erstellen kannst du komplett vergessen wenn du in der Sub sd_schreiben die Datei mit append öffnest, wird die Datei sowieso erstellt. Desweiteren ist es so, dass wenn du die Datei mit append (anhängen) erstellt hast nicht mit den pointern spielen musst...
Code:
sd_schreiben:
Open "LOG.txt" For append As #1
Print #1 , Zu_schreiben
close #1
fertig... so werden die neuesten messwerte automatisch ans ende deine logdatei angehängt.
Hier mal meine Routine für ein Systemlog (Messwert-Logs sind extra)
Code:
sub Logfile(message$ As String * 50)
Chdir "\"
Open "logfile" For Append As #12
Gosub Getdatetime
Print #12 , _year$ ; "/" ; _month$ ; "/" ; _day$ ; ";" ; _hour$ ; ":" ; _min$ ; ";" ; Message$
Close #12
End Sub
Benutzung ist dann sehr einfach:
Logfile "System EIN"
Logfile "Powerdown" usw...
Lesezeichen