Forum: Mikrocontroller und Digitale Elektronik µSD Karte Ulrich Radig Code funktioniert nicht mehr


von Chris K. (chkome01)


Angehängte Dateien:

Lesenswert?

Servus Zusammen!

Ich hab mal wieder ein Problem, bei dem ich einfach nur noch im Dunkeln 
tappe :-(

Hab vor längerem den SD-Karten Code von Ulrich Radig (SourceCodeV3.0 
angehängt) in mein Projekt eingebunden. Lief am Anfang mit einer 
Kingston 2GB Fat16 32k nach den erforderlichen Anpassungen (baud, 
SD-Belegung) richtig gut - weswegen ich auch garnicht überlegt hab, 
irgendeine andere Lib zu verwenden.

Hab die Sache dann erstmal auskommentiert und wollte sie jetzt im 
Gesamten nochmal testen - geht nicht mehr!

Auch mit dem Originalcode - ohne meinen Code - geht es einfach nicht 
mehr.
Gleiche Karte, dann auch andere Kingston 2GB Karten, gleicher µC, 
gleiche Umgebung gleiche Hardware - es will nicht mehr!

Merkwürdig ist, dass die Karte in der mmc.init noch antwortet - USART: 
"Karte gefunden" und dann ich der Funktion fat_init() -aufruf> 
mmc_read_sector() -aufruf> void mmc_read_block() in der Zeile

"while (mmc_read_byte() != 0xfe){};"

hängenbleibt. Osci sagt - richtig so, denn die Karte gibt auch nix aus - 
ist IDLE LOW.

Hab dann, wie bereits erwähnt andere Karten getestet, anderes Board und 
den µSD Kartenhalter neu aufgesetzt, anderen Anschluss der SD Karte 
getestet - nix.

Ich hab schon gelesen, dass der Radigcode nicht mit allen Karten umgehen 
kann, aber wie kann es denn sein, dass es erst geht und dann nicht mehr?

Hat da schon jemand Erfahrungen damit gemacht?

Mein Projekt:

Atmega 128 @ 11.0592MHz (ISP Mode an USART0)
AVR-Studio 4.18
GNU Compiler

Kartenanschluss:
µSD   -   µC
2 CS  -   PB4       - auch getestet an PB0
3 DI  -   PB2 MOSI  - auch getestet an MISO
4 VDD -   ca. 2.9V
5 CLK -   PB1 SCK
6 GND -   GND
7 DO  -   PB3 MISO  - auch getestet an MOSI


Bin dankbar für jede Antwort (auch wenn drinsteht, dass ich´n Holzkopf 
bin)



Viele Grüße

Chris

von Wolfgang (Gast)


Lesenswert?

Hallo,

in mmc_init() wird in der letzten Zeile der CS der Karte wieder 
abgeschaltet, so dass der fat_init(), der im main.c folgt, ins Leere 
läuft.

HTH,
Wolfgang

von Achim M. (minifloat)


Lesenswert?

Chris K. schrieb:
> 3 DI  -   PB2 MOSI  - auch getestet an MISO

Chris K. schrieb:
> 7 DO  -   PB3 MISO  - auch getestet an MOSI

An der Karte mal so, mal so angeschlossen? dann trafen bei einem Test 
zwei Ausgangstreiber gegeneinander an. Ich vermute, der Treiber der 
Karte hat verloren und sie lebt nun im Hardwarehimmel weiter ;)

SD-Karte in Kartenleser am PC zum Gegencheck getestet?

mfg mf

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
Noch kein Account? Hier anmelden.