MMC-Karte interessantes Problem

Gast #405792
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren