Hallo zusammen, ich habe folgendes Problem: Für ein kleines Projekt möchte ich mit einem STM32F765 ARM Controller auf eine microSD Karte schreiben und lesen können. Ich habe mir hierfür auch ausführlich die Beispielsprojekte der Discovery und Evalboards angeschaut und nach diesen Vorgaben die Routinen aufgebaut. Ich benutze für das Projekt die vom CubeMx erzeugten HAL Libraries und die TrueStudio IDE. Nun ist es so, dass ich die SD Karte initialisieren kann und alle gelesenen SD Karten Infos sind absolut korrekt. Zusätzlich habe ich die Command Line dekodiert, und auch hier sieht alles sehr gut aus, die Signale passen alle. Was allerdings überhaupt nicht funktioniert sind alle sonstigen Funktionen. Sobald ich den SD Karten Status abfrage, egal zu welchen Zeitpunkt, bekomme ich als Rückgabewert immer cardstate = HAL_SD_CARD_TRANSFER; Eine Änderung des Clocktakts hat nichts gebracht, genauso wenig wie eingabute Wartezeiten oder Warteschleifen. Die Karte scheint immer irgendwelche Daten zu transferieren, obwohl ich selbst zu keinem Zeitpunkt auf die Karte schreibe oder lese. Hat jemand eine Idee was hier das Problem sein könnte? Ich habe SD und SDHC Karten probiert und auch schon verschiedene SD Karten des selben Typs, aber keine funktioniert. Vielen Dank im Voraus
Sonic schrieb: > Sobald ich den SD Karten Status abfrage Ich hatte mal eine Sorte (Samsung 2GB MicroSD) die sich jedes Mal aufhingen wenn man das SD_STATUS Register per SPI abfragt. Die brauchten danach einen Power-On Reset. Der Register Inhalt kam noch normal über den Bus rüber, aber dann ging gar nix mehr. Ansonsten kann ich der Frage nicht genau entnehmen ob hier SPI oder SD(HC) Protokoll gesprochen wird. Welche Kommandos werden zur Initialisierung gesendet?
Sorry, habe ganz vergessen den verwendeten Bus zu nennen. Ich betreibe die microSD Karte am 4-Bit SDIO Wide Bus. Aber auch wenn ich auf 1-Bit umschalte bekomme ich dasselbe Verhalten. Selbst Initialisieren mache ich in dem Fall nicht, ich habe mir den Basiscode vom CubeMX erzeugen lassen, der die Karte auch dementsprechend initialisiert.
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.