Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: SD-Karten Problem Kategorie: IDE (von Dominik - 19.04.2011 8:33)
Als Antwort auf Re: SD-Karten Problem von Joerg - 19.04.2011 7:30
Ich nutze:
C-Control Pro Mega128
> > Hi, C-Control User's
> >
> > Ich bin gerade dabei meine C-Control Pro SD-Card Interface (BN 197220)
> > an mein Projektboard MEga 128 anzuschliessen.
> >
> > dabei habe ich die Entsprechenden Ports miteinander verbunden.
> >
> > Kartenhalter          PIN Mega128
> > WP                    PE.5
> > CD                    PB.4
> > MISO                  PB.3
> > MOSI                  PB.2
> > SCK                   PB.1
> > SS                    PB.0
> > EN1                   PB.5
> > LED                   PB.7
> > EN2                   PB.6
> >  
> >
> > Mit dem entsprechenden Beispielcode aus der IDE HIlfe
> > (code zitate siehe unten)
> >
> > konnte ich nicht auf die SD Karte schreiben. Das Programm stürzt bei
> >   SDC_MkDir("0:/CC-PRO");
> > ab.
> >
> > Als test ob die SD-Card richtig erkannt wird habe ich den Port WP
> > also PE.5 mir ausgeben lassen.
> > Dieser ist da um zu prüfen ob die SD-Karte schreibgeschütztist
> >  oder nicht.
> > In beiden "Schiebepositionen" bekomme ich den wert 0 ausgegeben:
> >
> > code:
> >     response= Port_ReadBit(37);
> >     Str_Printf(str, "arg1: %8dr", response);
> >     Msg_WriteText(str);
> >
> > Habe ich die Ports falsch initialisiert bzw. vergessen welche zu
> >  initialisieren oder
> > hat jmd noch ein Vorschlag
> >
> >
> > Vielen Dank Dominik
> >
> >
> >
>
> Hallo Dominik,
>
> in der Dokumentation steht nichts darüber, ob man die Ports für WP und CD selber initialisieren muss,
> oder ob dies der Treiber durchführt. Auch steht dort nicht, ob der interne PullUp benötigt wird.
>
> Der Wert 0 bedeutet schreiben erlaubt. CD sollte auch 0 sein. Daran kann es dann eigentlich nicht liegen.
>
> Die Funktion SDC_Init hat anscheint einen Rückgabe Wert.
> (In der Doku steht allerdings void aber in IntFunc_Lib.cc ist dort ein Byte)
> Hast Du diesen schon einmal ausgegeben?
>
> Grü�e Joerg
>
>


Hi Joerg,

ich habe mir die Werte mal ausgeben lassen, also wenn ich die init funktion einer variabel
zuweise bekomme ich als wert 0 -> laut doku sollte ja dann alles ok sein

init: 0                                                                                                                
cd: 0                                                                                                                  
wp: 0                                                                                                                  
EN2: 1                                                                                                                  
EN1: 0

(code für die Ausgabe siehe unten)


Ich habe diese drei SD-Karten versucht, bei allen jedoch das gleiche.
SDHC 4GB
SD 2GB
MMC 512MB

Die PWR leuchte wird rot - habe jedoch dazu keine beschreibung gefunden.
die LED leuchte ist jedoch noch aus.

sind denn diese Initialisierungen richtig? ich habe nicht genau verstanden warum die arrays
genau diese werte haben müssen
byte fat[562];
byte fil[32];

Das Programm stürzt immer ab wenn ich einen Befehl benutze der auf den Pfad zugreifen muss
(init-befehl geht ja) ist 0:/ hier richtig?
SDC_MkDir("0:/CC-PRO");

Ich weiss nicht ob es was bringt, ich habe die Spannungen gemessen wo das Programm hängenbleibt
in bezug jeweils auf den GND anschluss. (direkt an der SD-Platine)

Anschluss - Messung
5V - 5V
EN2 - 4.99V
LED - 0.4V
EN1 - 0.04V
SS - 1.2V
SCK - 1.2V
MOSI - 1.2V
MISO - 0.9V
CD - 0V
WP - 0V


Hat jmd schon dieses Beispielprogramm getestet? Oder noch andere Ideen?

Viele Grü�e

Dominik


code:::
    test=SDC_Init(fat);
    Str_Printf(str, "init: %dr", test);
    Msg_WriteText(str);

    test=Port_ReadBit(12);
    Str_Printf(str, "cd: %dr", test);
    Msg_WriteText(str);

    test=Port_ReadBit(37);
    Str_Printf(str, "wp: %dr", test);
    Msg_WriteText(str);

    test=Port_ReadBit(14);
    Str_Printf(str, "EN2: %dr", test);
    Msg_WriteText(str);

    test=Port_ReadBit(13);
    Str_Printf(str, "EN1: %dr", test);
    Msg_WriteText(str);


    Antwort schreiben


Antworten:

Re: SD-Karten Problem (von Baltus - 20.04.2011 21:04)
    Re: SD-Karten Problem (von Dominik - 21.04.2011 14:35)
        Re: SD-Karten Problem (von PeterS - 22.04.2011 15:16)
            Re: SD-Karten Problem (von Dominik - 6.05.2011 20:42)
        Re: SD-Karten Problem (von Joerg - 22.04.2011 8:30)