Forum: Mikrocontroller und Digitale Elektronik SDCard Initialisierung erfolgreich jedoch kein schreiben/lesen möglich (STM32)


von vitja H. (vitja3000)


Lesenswert?

Guten Morgen alle zusammen,

ich wollte fragen,ob mir jemand hier helfen kann. Komme gerade mit 
meinem Porjekt einfach nicht mehr weiter. Und zwar habe ich folgendes 
Problem.

Ich habe eine Schaltung/Board gebastelt, welche bestimmte Daten 
(Uhrzeit,Datum,Stromverbrauch etc.) auf einer SD-Karte abspeichert und 
üer usb abgerufen werden kann. Nun primär geht es mir um die SD-Karte 
gerade.

Ich benutze einen STM32f103 Microcontroller und programmiere mit Keil. 
Ich habe bereits die SD-Karten Initialisierung geschrieben und sie 
funktioniert auch. Also Hardwaretechnisch keine Probleme. Die Sd karte 
läuft bei mir über ein Transistor, der jedesmal vor der Initialisierung 
die SD-Karte kurz resettet.
Nun wie ich vorher erwähnt habe,lässt sich die SD-KArte vollständig und 
ohne PRobleme Initialisieren. Mein Problem ist jetzt, dass ich weder 
Lesen noch Schreiben kann. Der Filepointer den ich erstelle blebt immer 
gleich NULL. Ich verzweifle da schon langsam dran. Weiß einer von euch 
vielleicht woran das liegen kann ? Oder hat jemand Tipps ?

Danke schonmal im vorraus.

von Dennis X. (Gast)


Lesenswert?

Wie genau hast du denn die SD-Karte angeschlossen?
Wiso über einen Transistor? SD-Karten sind sehr empfindlich was die 
Versorgungsspannung betrifft, würde das alles mal ohne einen Transistor 
probieren.
Woran machst du fest dass die initialisiert ist?

von Jim M. (turboj)


Lesenswert?

> Die Sd karte läuft bei mir über ein Transistor

Schaltplan, bitte. Eine SD will 2,7-3,6 Volt haben, Bipolartransistor 
ist also ungünstig, MOSFET besser. Da SD Karten kein Reset kennen ist 
eine Spannungsabschaltung im Fehlerfall oft sinnvoll.

> Ich habe bereits die SD-Karten Initialisierung geschrieben und sie
> funktioniert auch.

Woran merkst Du das?
Größe der SD? Wird die Partitionierung und das Filesystem erkannt?

von vitja H. (vitja3000)


Angehängte Dateien:

Lesenswert?

Die Beschaltung kannst du im Bild entnehmen.Habe dann mit den 
dazugehörigen pins am STM verbunden. Der Power_On pin resetten die 
sdkarte.
Ich habe den Reset eingebaut, weil es öfters vorkam das die SD nicht 
gelesen werde konnte bzw. diese sich mit dem Programmiergerät hat nicht 
programmieren lassen (musste kurz abstecken und wieder anstecken).
Die Initialsierung bzw. den Programmcode habe ich öfters im Debugmodus 
durchlaufen lassen und es kam zu keinen Problemen.Zudem habe ich noch 
eine LED eingebaut, welche Blinkt sobald ein Fehler auftritt (wenn die 
SD nicht erfolgreich initialisert wurde, Datein nicht 
geschrieben/gelesen werden können etc.)Wäre die Pinbeschaltung falsch 
gewesen würde mir das Programm ein Fehler ausgeben (keine Kommunikation) 
oder es würde den InitPart nicht durchlaufen.

EDIT: Bevor ich den Mosfet (im Bild) eingebaut habe, ging das noch. Ich 
habe es geschafft eine Txt Datei zu erstellen und etwas in die Textdatei 
zu schreiben. Jedoch danach funktioniert nichts mehr.

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.