HI Leute, ich versuche nun seit einigen Tagen eine meiner SD-Karten zu initialisieren. Verwendete SD-Karten: NYTECH 128MB TOSHIBA HighSpeed 256MB Zum Aufbau: Der PIC18F452 ist mit der SD-Karte über einen 74LCX14 (Low Voltage Hex Inverter) verbunden. Der 74LCX14 wird mit 3,3V betrieben, d.h. der PIC hat 3,3V um zu erkennen, dass das Signal ein HIGH ist, was kein Problem sein sollte. Der 74LCX14 hat invertierte Ausgänge. Bin der Meinung, dass ich das im Code beachtet habe. Zum Code: Die Quelle für meinen Code ist die Seite www.ulrichradig.de. Mein Code sieht dem von Ulrich sehr ähnlich. Seinen Code habe ich nicht übernommen, weil ich einige Sachen nicht verstanden habe und weil er mit einem Atmel arbeitet. Die Variablen H(=0) und L(=1) sollen eine weitere Verwirrung vermeiden, da invertierte Ausgänge vom 74LCX14. Zum Problem: Nach Senden von CMD0 bekomme ich als Antwort 0x01, was ja richtig ist. Auf CMD1 antworten die Karten aber auch mit 0x01, was falsch ist. Kennt jemand eine Lösung? Hat jamand das Problem auch schon gehabt? Gruß Konstantin
Hallo Konstantin, Dass Du auch auf CMD1 ein 0x01 als Antwort bekommst, hat durchaus seine Richtigkeit. Allerdings musst Du dann so lange immer wieder CMD1 senden, bis ein 0x00 zurückkommt. Erst dann ist nämlich die Karte mit der Initialisierung fertig. Ich habe ebenfalls mit der Schaltung von Ulrich Radig einen SD-Reader aufgebaut. Schau mal in die Codesammlung hier im Forum oder auf http://www.roland-riegel.de/sd-reader/, da bekommst Du die Schaltung und den Code dazu. In der Datei sd_raw.c gibt es eine Funktion sd_raw_init(), da steht dann alles drin, was Du brauchst. Gruß, Roland
Hallo Roland, das Problem hat sich gelöst. Ich habe einfach den Quellcode von Ulrich genommen und an den PIC angepasst. Hat sofort funktioniert. Trotzdem Danke. Gruß Konstantin
Hallo Konstantin Wäre schön, wenn du den Code hier auch anderen zur Verfügung stellst (evtl. mit kleinem Beispiel) Ciao Franky
Wenn der Code optimiert ist, dann stelle lade ich diesen hier hoch. Gruß Konstantin
ja, super. Ich bin schon gespannt darauf. Vielen Dank im Voraus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.