Hallo liebe Community,
vielleicht ist es ja ein alter Hut, aber ich habe keine Idee, wie man Long-Variable oder Single-Variable mit AVR-Dos auf die SD-Card schreiben kann.
Es landen immer nur String-Variable auf der SD-Card, jedoch sollen die Werte mit Excel auch sofort berechnet werden können, und nicht erst umgewandelt werden müssen.
Anbei meine verwendeten Subs für AVR-Dos
Search_filename: zum Suchen des nächsten freien Platzes auf der SD-Card
Open_new:file: mit dem im Searchfile definierten Filenamen
Store_to_SD: SD-Card beschreiben mit einer Long Variablen
Hat jemand einen Hinweis, woran das liegen könnte?
Gruß
Ulrich
Display All
vielleicht ist es ja ein alter Hut, aber ich habe keine Idee, wie man Long-Variable oder Single-Variable mit AVR-Dos auf die SD-Card schreiben kann.
Es landen immer nur String-Variable auf der SD-Card, jedoch sollen die Werte mit Excel auch sofort berechnet werden können, und nicht erst umgewandelt werden müssen.
Anbei meine verwendeten Subs für AVR-Dos
Search_filename: zum Suchen des nächsten freien Platzes auf der SD-Card
Open_new:file: mit dem im Searchfile definierten Filenamen
Store_to_SD: SD-Card beschreiben mit einer Long Variablen
Hat jemand einen Hinweis, woran das liegen könnte?
Gruß
Ulrich
BASCOM Source Code
- Search_filename:
- Got_date = Date$
- Naked_date = Got_date
- Delchars Naked_date , "-" 'Binde-Striche zwischen den Uhr-Ziffern entfernen
- '...da das AVR-DOS nicht soviele Zeichen erlaubt
- For Filename = 1 To 99999
- Search_file_name = Str(filename)
- Search_file_name = Naked_date + "-" + Search_file_name + ".CSV"
- Check_for_file = Dir(search_file_name)
- If Len(check_for_file) = 0 Then
- File_name = Search_file_name
- Exit For
- Else
- File_name = ""
- End If
- Next
- Return
- '*******************************************************************************
- 'Routine neues File eröffnen
- Open_new_file:
- If File_name <> "" Then
- Search_file_name = Dir(file_name)
- 'Open File_name For Output As #100
- Open File_name For Binary As #100
- 'Kopfzeilen auf SD-Card schreiben
- Print #100,
- Print #100 , "Datum: " ; Got_date ; " / " ; Time$ ; " Version: " ; F_name ; " " ; F_date
- Print #100 , "Date, Time"
- 'Flush #100
- End If
- Return
- '*******************************************************************************
- 'F_hz ist als Single Dimensioniert
- Store_to_sd:
- Long_fhz = F_hz * 1000000 'Single in Long wandeln
- Print #100 , Got_date ; "," ; Got_time ; "," ; Long_fhz
- Return
- '*******************************************************************************