Gast
#4628339
Hallo, ich versuche eine (bei mir) funktionierende Library zur Verwendung einer 32GB microSD-Karte zu finden. Über die Bib von Roland Riegel (http://www.roland-riegel.de/sd-reader/index.html), welche bei mir leider nicht funktioniert hat, bin ich bei der AVR FAT32 Version 0.6.4 gelandet (http://www.mikrocontroller.net/articles/AVR_FAT32). Das Beispielprogramm aus der main_simple.c funktioniert, was mich schon sehr euphorisch gestimmt hat. Allerdings traten/treten nun Effekte auf, die ich mir nicht erklären kann. Vielleicht hat hier jemand Erfahrung und kann mir weiterhelfen. Folgende Probleme. 1. Wenn ich eine Datei TEST1.TXT erstelle und beschreibe und mir das Ergebnis unter Windows mit dem Texteditor anschaue sieht alles wunderbar aus. Codeauszug:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Wenn ich allerdings die Datei TEST1.TXT bereits unter Windows anlege und diese nur durch den µC mit dem Text beschreiben möchte, wird der Text zwar geschrieben (kann mir das über die read-Funktion per Uart ausgeben), allerdings kann ich die Datei danach unter Windows nicht mehr öffenen. Fehlermeldung: "Die Datei Y:\TEST1.TXT kann nicht geöffnet werden. Stellen Sie sicher, dass sich ein Datenträger im angegebenen Laufwerk befindet." Warum auch immer scheint es nur zu funktionieren, wenn die Dateien durch den µC angelegt werden. Hatte jemand dieses Problem schonmal? 2. Aufbauend auf obigem Problem trat anschließend noch der Effekt auf, dass beim Erstellen und Beschreiben mehrere Dateien durch den µC (z.B. TEST1.TXT beschrieben mit "01", TEST2.TXT mit "02", TEST3.TXT mit "03") in allen Dateien "03" stand. Also immer das, was als letztes in irgendeine Datei geschrieben wurde, stand nach Sichtung unter Windows immer in allen Dateien, welche im Programmdurchlauf des µC eine Schreibfunktion erlitten. Das ganze ging nach zwei/drei mal Testen soweit dass die Karte (plus Weitere) unter Windows gar nicht mehr erkannt wurden. Dank meines Beaglebone konnte ich die Karten wieder formatieren, sodass diese wieder von Windows erkannt werden. Der Code funktionierte danach komischerweise wieder wie gewollt, also jede Datei wies ihren Text auf. Können die genannten Probleme damit zusammenhängen, dass ich keine SPI bzw. SD-Card disable-Funktion habe? Bisher ziehe ich die Karte entweder unter "Last" raus oder ziehe das Stromkabel vom Board ab und ziehe dann die Karte raus. Beides führt irgendwann mal unter Windows zur Fehlermeldung: "Möchten Sie (Y:) Wechseldatenträger überprüfen und reparieren? Es besteht eventuell ein Problem mit einigen Dateien..." Eigentlich möchte ich "nur" direkt im root-Verzeichnis ca. 10 Textfiles haben, welche ich über Wochen hinweg robust(!) beschreiben und danach unter Windows ohne Fehlermeldungen wieder auslesen möchte. So wie es sich jetzt verhält ist das ganze leider eher Glückssache... Gruß Alex