Gast
#230993
Hallo! Ich habe ein kleines Problem mit der Ansteuerung einer MMC Karte, bei dem ihr mir vielleicht weiterhelfen könnt. Ich arbeite mit einem AT89C51SND1 - der hat das MMC Interface schon in der Hardware integriert. Ich möchte nun als erstes das OCR Register der MMC Karte auslesen. Also sende ich über die Commandline das Kommando 1 (0100 0001) und im Anschluss 4 Bytes (das Argument OCR). Was ich im Argument mitschicken muss, weiß ich nicht sicher. Ich bin davon ausgegangen, dass ich hier die Bits setzen muss, mit der Betriebsspannung die Karte arbeiten können muss. Also habe ich für 3,3V Bit 20 und 21 gesetzt - den Rest leer gelassen. Ich schreibe also 0x41, 0x00, 0x30, 0x00, 0x00 in den FIFO rein. Dann aktiviere ich die Response (RESPEN set und anschließend clear) und setze RFMT um die kurze (48 bit) Response zu aktivieren. Anschließend starte ich den Transfer. Es wird ein Interrupt aufgerufen. Hier checke ich nun, welches Flag den Interrupt ausgelöst hat (bei mir End of Response). Das trifft auch zu. Anschließend überprüfe ich, ob die Länge der erwarteten Antwort gestimmt hat (RESPFS = 1) und ob die CRC richtig war (CRC7S = 1) im MMSTA - Statusregister. Leider sind genau diese beiden Bits 0. Genau so, wie wenn ich keine MMC Karte eingesteckt hätte. Was hab ich jetzt übersehen? Hab ich vielleicht einen Denkfehler? Vielen Dank für Eure Mühe!! Liebe Grüße Steffen