Gast
#337444
Hallo, habe ein Problem Daten auf eine SD Karte zu schreiben. Ich verwende einen C167 µC und eine 1GB Sandisk SD-Karte, die über SPI (SSC) angebunden ist. Zur Ansteuerung nehme ich den MMC Code von Ulrich Radig mit angepassten Befehlen für den C167. Initialisierung der Karte sowie CID/CSD Register auslesen funktioniert. Auch kann ich Dateien von der Karte lesen (FAT32). Nur das Schreiben klappt noch nicht so ganz: Ich suche mir einen freien Eintrag in der FAT und belege ihn --> OK ich schreibe den entsprechenden Directoy Eintrag --> 0x04 (illegal command) als Antwort ich schicke den selben Write_Sector Befehl nochmal --> OK usw... Gleiches Szenario wenn ich erst auf die 1. FAT (OK), dann auf die 2. FAT (0x04), und danach den DirEntry schreibe (OK) [der nächste Schreibbefehl liefert wieder 0x04]. 2 Write_Sector Aufrufe hintereinander funktionieren nicht... Ich weiß nur noch nicht so recht wieso. Habe schon Wartezeiten eingefügt falls die Karte noch Busy ist. Oder muss noch ein Status abgerufen/gelöscht werden falls der nächste Sektor geschrieben werden kann? Ich hoffe dass dieses Phänomen nicht controllerbedingt ist und mir jemand weiterhelfen kann. (Hier wurde so etwas ähnlcihes gefragt, allerdings ohne Antwort http://www.mikrocontroller.net/forum/read-1-224104.html) Gruß Steff