Hallo!
Ich versuche hier verzweifelt ne SD Karte zu initialisieren. Mehr will ich grad granicht, bzw. zu mehr bin ich noch nicht gekommen.
Auf der Seite von Ulrich Radig ist ja auch das PDF mit den Timings. Genau das habe ich jetzt mal nachprogrammiert, aber es geht ums verrecken nicht.
Auch das Datenblatt das ebenfalls auf der Seite von Ulrich Radig zu finden ist, hat mir nicht sonderlich weitergeholfen, außer dass ich jetzt weiss, dass es nur 6Bit Befehle sind.
Hier aber erstmal mein Code:
Ich sende also erst 80 Pulse, dann geht CS auf Low, anschließend CMD0 und so weiter.Code:$crystal = 8000000 $baud = 9600 $regfile = "M8def.dat" Dim Dout As Byte Dim Din As Byte Dim I As Byte Config Pinb.2 = Output Config Pinb.3 = Output Config Pinb.5 = Output Config Pinb.4 = Input Mmc_cs Alias Portb.2 Set Mmc_cs Sck Alias Portb.5 Mosi Alias Portb.3 Miso Alias Pinb.4 Set Sck Set Mosi Set Miso 'Pull Up Do Gosub Mmc_init Wait 1 Print Bin(din) Loop Mmc_init: For I = 1 To 10 Dout = &HFF Shiftout Mosi , Sck , Dout , 1 , 8 , 16 Next Reset Mmc_cs Dout = &H00 Shiftout Mosi , Sck , Dout , 1 , 6 , 16 Dout = &H00 Shiftout Mosi , Sck , Dout , 1 , 8 , 16 Shiftout Mosi , Sck , Dout , 1 , 8 , 16 Dout = &H95 Shiftout Mosi , Sck , Dout , 1 , 8 , 16 Shiftin Miso , Sck , Din , 1 , 8 , 16 Set Mmc_cs Return
Von der Karte kommt aber kein Fatz zurück. Die bleibt einfach stumm.
Elektrisch ist alles OK, kann auch mit dem Oszi wunderbar CS, Dout, und CLK anschauen.
Karte ist auch OK, da sie in meiner Digicam tut.
MfG
Schoko
P.S.: Hier die Timings von der SD-Karte: http://www.ulrichradig.de/site/atmel...CSDTimming.pdf







Zitieren

Lesezeichen