mikrocontroller.net

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


Autor: Chris K. (chkome01)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joachim K. (minifloat)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.