Gast
#2262602
Hallo zusammen, In meinem GPS Tracker hatte ich bisher die Version 2009-03-30 der SD Lib von Roland Riegel problemlos verwendet. Ich habe einen ATmega32 @ 16MHz. Die GPS Daten werden in 512 Byte "Blöcken" auf die SD Karte geschrieben. Gestern habe ich auf die aktuelle Version geupdated (2011-04-23), seitdem habe ich folgendes Problem: Schiebe ich die SD Karte in einen PC, wird die geschriebene Datei (*.txt) angezeigt mit richtigem Zeitstempel und Größe, aber wenn ich sie öffne ist KEIN Inhalt zu sehen. Ich habe daraufhin in der FAQ von Roland Riegel folgenden Punkt gefunden: "Writing to the card returns no failure, but when checking the file's content the data is not there. What happens? For performance reasons, writing to the card is always buffered. Before pulling the card out of its socket (or issuing a reset of the MCU), make sure sd_raw_sync() gets called such that all buffered data is written out to permanent card storage." Also habe ich sd_raw_sync() nach jedem aufruf von fat_write_file() aufgerufen. Das Fehlerbild bleibt aber das gleiche. Hier ein Auszug meines Codes:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
in GetGPSData wird dann noch fat_write_file() aufgerufen. Hat jemand eine Idee was hier schiefläuft? Vielen Dank schon mal an alle