Gast
#1880118
Hallo, wie schon im Betreff angesprochen habe ich ein Problem mit der fat_open() Funktion aus Roland Riegel's FAT-Implementation. Folgender Aufbau: ATmega16 mit 16Mhz an Labornetzteil-3,3V (funktioniert und die Pegel sind auch an der SD-Karte vorhanden. Andere Testprogramme laufen ebenfalls einwandfrei bei den 3,3V). Ich nutze außerdem eine 1GB-MicroSD Karte mit Adapter, zeitweise auch eine 32MB-MicroSD. Die Initialisierung funktioniert einwandfrei, somit fällt ein Fehler in der Schaltung ja eigentlich raus, oder? Ich nutze folgenden Code mit der Roland-Riegel-FAT/MMC-Implementation:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
und am fat_open() scheitert es. fat_open gibt immer 0 zurück. Bislang liefen meine "Debugging"-Versuche mit einer Blinkenden LED, aber ich bin mir sicher, dass es an der Stelle hakt. Davor läuft alles wunderbar. Ein weiterer Versuch, die SD-Karte "roh" auszulesen, war erfolgreich; Die Ausgabe erfolgt über einen Lautsprecher, und ich hatte vorher auf der SD-Karte eine WAV-Datei erstellt. Die wird auch nach einigem Piepsen und Rauschen abgespielt, die Daten kommen also irgendwie beim uC an aber das Dateisystem will nicht so wie ich es will. Ich habe bereits mit Linux (fdisk, ist das die richtige vorgehensweise?) und Windows formatiert - kein Erfolg. Auch ein wechsel von FAT16 auf FAT32 brachte nichts - was mache ich falsch bzw. was könnte ich noch ausprobieren? Für alle Ideen bin ich dankbar. Gruß mulax