Hallo an Alle
ich bin gerade am durchackern vom AVRDOS und
habe daher die Anfrage reingestellt
um mit einer 32MB SD-Card meinen Datenlogger umzurüsten
... wollte keinen Streit vom Zaun brechen
hier meine Unterroutine zum Speichern für den EEPRom:
Code:
Makestamp:
Gosub Getdatetime 'hole aktuelle Uhrzeit
Ebuffer(01) = _day 'Zeitstempel
Ebuffer(02) = _month
Ebuffer(03) = _year
Ebuffer(04) = _hour
Ebuffer(05) = _min
Ebuffer(06) = _sec
Ebuffer(07) = Prog 'Programm Nr (1;2;3;4;5)
Ebuffer(08) = Job_counter 'Programm Jobzähler (1..255)
Ebuffer(09) = 0 'Messkanal1 z.Z. nur 3Byte benutzt
Ebuffer(10) = Ovka
Ebuffer(11) = High(mesw1)
Ebuffer(12) = Low(mesw1)
Ebuffer(13) = 0 'Messkanal2 z.Z. nur 3Byte benutzt
Ebuffer(14) = Ovkb
Ebuffer(15) = High(mesw2)
Ebuffer(16) = Low(mesw2)
Temp3 = Read_ds1307_ram(10) 'hole Speicheradresse aus RTC-RAM
Temp2 = Read_ds1307_ram(11)
Eepromadr = Makeint(temp2 , Temp3)
Call Schreibe_block(eepromadr) 'Schreibe Datenblock in EEprom
Eepromadr = Eepromadr + 16 'Berechne neue EEpromadresse
'bei 24c512 = 65536 'Rollover Speicher bei 24c512 --> 4096Pages
'IF eepromadr > 32768 then eepromadr = 0 'Rollover Speicher bei 24c256 --> 2048Pages
Temp3 = High(eepromadr)
Temp2 = Low(eepromadr)
Call Write_ds1307_ram(10 , Temp3)
Call Write_ds1307_ram(11 , Temp2)
Return
es werden 16Byte als Block pro Messwert weggeschrieben
Das selbe will ich halt auf eine SD-Card in ein Textfile machen.
Dazu würde ich die Rohdaten als String wandeln und
jeden Block auf eine neue Zeile in die Textdatei ablegen.
....so mein Plan
Wen da jemand ein Stück Quelltext bzw. Tips hätte wär halt schön....
je nach Messprogramm kommen neue Daten nach 1min oder 10min
-ist folgender Ablauf so OK? :
handel holen per freefile
- file open: FOI('Logdat',#)
- neue Zeile hinzu: WL(#,Datenstring)
- flush #
- close #
Oder ist es besser die Datei offnen zu lassen, nur neue Zeilen zu schreiben und erst bei Ende der Messreihe zu schliessen?
Danke für eure Hilfe
Kurzschluss
Lesezeichen