Hab den Fehler selber gefunden![]()
Hallo,
ich habe ein Problem bei der Ansteuerung einer SD Karte. Initialisierung funktioniert, dass lesen und schreiben angeblich auch ( wenn ich nach den return gehe bekomme ich immer 0 ). Aber wenn ich den eingelesenen Block anzeigen lasse dann bekomme ich nur 0xff, was wohl bedeutet das er das falsche liest. kann meinen fehler nicht entdecken. Könnte mal bitte einer über den code gucken ob er einen fehler entdeckt??
Hab den Fehler selber gefunden![]()
hi,
als erste anmerkung zum code: funktionen sollten in .h dateien nur deklariert werden. ausprogrammiert dann in .c dateien
als zweites wäre es nett, wenn du uns noch mitteilen würdest wie du das problem behoben hast.
lg
ich versuche meinen hauptprogrammteil so übersichtlich wie möglich zu halten. deshalb packe ich soviel wie geht in die headerdatei...
ich hab statt eines arrays als parameter einen pointer genommen.
und, was wahrscheinlich ausschlaggebend war, die spi frequenz runtergesetzt. beim lesen auf 1/64 und beim schreiben auf 1/128.
mfg
matze
stell mal den gesamten code hier rein, meine karte funktioniert auch noch nicht.
mfg
du kannst ja deinen hauptprogrammteil trotzdem in einem eigenen .c-file (zb: main,c) haben und deine sd-karten-routinen auch in einem eigenen .c-file (zb: sd.c).Zitat von carlos_soost
die funktionsdefinitionen ins .h-file (zb: sd.h) und das dann im main.c includieren. dem linker mittels makefile noch sagen das du das c-file brauchst und passt - nur als anregung..
@robby-fant
hier die c datei. und du brauchst auch die displayfunktionen. du musst dann im c file nur noch bei den include anweisungen aus vw_sdkarte.h
sdkarte.h machen.
@travolds...
ich nutze AVR studio...wie kann ich denn dort mehrere c dateien nutzen??
wollte nicht extra mit makefile anfangen...
Hi, in AVR studio musst du weitere .c Dateien nicht includen das geht von selbst. Soll heißen:
Einfach im Linken Fenster auf Source Files rechtsklicken und Create New Source File auswahlen, Namen mit .c bzw .h eingeben schon fertig.
Ich hätte auch interesse an deinem Code, genauergesagt an deinem ganzen Projekt. Ich möchte ebenfalls eine SD-Karte als Speichererweiterung für meinen mega32 nutzen. SD-Kartenhalter gibts bei Reichelt hab aber keinen Schimmer wie ich diesen am günstigsten an meinen AVR anschließe noch wie ich damit Daten lesen bzw. schreiben kann.
gruß ch
damke für den hinweis.
werd das mal die nächsten tage probieren und hier online stellen.
zur pinbelegung: es ist am günstigsten wenn du miso, mosi und clock an die hardware spi schnittstelle des controllers legst. die pins findest du im datenblatt.
den rest dann morgen oder übermorgen
Lesezeichen