Hallo Forum, ich habe schon fleißig gesucht im Forum. Mein Problem habe ich aber nicht gefunden. Ich verwende einen MSP430F169 und versuche eine SD-Karte zu lesen. Dabei gehe ich wie im Dokument slaa281a.pdf von TI vor. Allerdings habe ich SIMO und SOMI vertauscht, weil das offensichtlich falsch dokumentiert wurde. Alle Anschlüsse gehen direkt von MSP nach Kartenhalter (mit ca 5cm Flachbandkabel). Den Quellcode habe ich ebenfalls von TI. Es geht auch schon so einiges. Die Karte wird initialisiert und ich kann auch darauf schreiben (mmcWriteBlock). Aber ich kann NICHT lesen. mmcReadBlock kommt immer mit Fehler MMC_DATA_TOKEN_ERROR zurück. Häh? Schreiben ja, lesen nein?!?! Was soll das? Kennt das Problem jemand oder hat vielleicht einen Tip für mich? Flankensteilheit, Verbindungsprobleme, Pegel o.ä. kommt eigentlich nicht in Frage, wenn ich doch schreiben kann, oder? Vielen Dank schon mal für's Lesen. Gruß Uli
Hatte ich auch und habs auch nicht hinbekommen. Falls Du eine Lösung findest wäre ich sehr daran interessiert. Schreiben kann ich auch ohne Probs, aber lesen... Greets
Vieleicht ist das Timeout hier zu kurz: char mmcGetXXResponse(const char resp) { //Response comes 1-8bytes after command //the first bit will be a 0 //followed by an error code //data will be 0xff until response int i=0; char response; while(i<=1000) { response=spiSendByte(0xff); if(response==resp)break; i++; } return response; } Ändere doch mal auf while(i<=65000)
Hallo Holger, ich hab's gerade probiert. Geht leider auch nicht :-( Gruß Uli
Heureka :-) Die Leute von TI haben die Parameter und den Rückgabewert der Funktion mmcGetXXResponse() als char definiert. Die geforderte Response zum Lesen ist aber 0xFE, sodass ein strenger Compiler (wie meiner) signed mit unsigned vergleicht und mit dem Kopf schüttelt, weil -2 != 0xFE. Wenn man die Compiler option "plain_char = unsigned" setzt, geht's. Oder man schreibt alle Funktionen auf unsigned char um... Gruß Uli
Mist! :-) Aber ändere doch den Rückgabeparameter auf uint8_t, statt Compilerparameter dafür zu verändern. Aber verdammt verzwickter "Fehler", muss man schon sagen...
Bist du dir sicher, dass Schreiben klappt? Wenn du ja nichts lesen kannst :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.