Forum: Mikrocontroller und Digitale Elektronik MMC-Karte interessantes Problem


von Olaf (Gast)


Lesenswert?

Nein, das ist nicht die dreihunderste Frage wieso jemand zu bloed ist
die Lib von Ulrich Radig zu verwenden. :-)

Ich hab mir naemlich was eigenes geschrieben....

Mir ist da was aufgefallen. Ich verwende in meinem Programm zur
initialisierung einer Karte das Kommando 1.

        /* Jetzt koennen wir das erste Kommando senden */
        befehl[0] = 0x41;      /* CMD1   */
        befehl[1] = 0x00;      /* Daten  */
        befehl[2] = 0x00;      /* Daten  */
        befehl[3] = 0x00;      /* Daten  */
        befehl[4] = 0x00;      /* Daten  */
        befehl[5] = mmc_crc7(befehl, 5);  /* CRC */

Und das funktioniert auch immer. Sollte es nun spaeter einmal Probleme
beim Zugriff auf die Karte geben. Wobei der Grund erstmal vollkommen
egal ist, so werden meine Initialisierungsroutinen erneut durchlaufen
um alles wieder in einen bekannten Anfangszustand zu bringen.

Das funktionierte bisher auch mit mehr als zehn unterschiedlichen
Karten (sowohl Hersteller wie auch verschiedene Groessen)

Jetzt habe ich eine 1Gb MMCplus-Karte von ExtreMemory. Auch diese Karte
akzeptiert dieses Kommando beim erstenmal. Sendet man er ihr spaeter
aber erneut ohne das diese Karte stromlos war, antwortet sie mit einem
R1=0x04, also "Illegal Command". Andere Karten, insbesondere auch
eine 256MB MMCplus vom selben Hersteller machen dieses Problem nicht.
Hat das schonmal jemand erlebt? Gibt es irgendwo einen Hinweiss in
einer Doku das man dies nicht machen darf? Ich bin mir sogar relativ
sicher gelesen zu haben das manche Karten das CMD1 bei der erstmaligen
Initialisierung zweimal brauchen.

Olaf

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.