Habe mir grad noch den Rest deines Programms angeschaut:
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:'_______________________________________________________________________________ '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
fertig... so werden die neuesten messwerte automatisch ans ende deine logdatei angehängt.Code:sd_schreiben: Open "LOG.txt" For append As #1 Print #1 , Zu_schreiben close #1
Hier mal meine Routine für ein Systemlog (Messwert-Logs sind extra)
Benutzung ist dann sehr einfach: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
Logfile "System EIN"
Logfile "Powerdown" usw...







Zitieren

Lesezeichen