mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Suche einfache SD-Bibliothek für atmega8


Autor: Jacky2k (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Hoffe ich mach hier alles richtig, ist mein erster Beitrag, wenn nicht 
bitte ich um Aufklärung ;)

Also, ich versuche grade über einen Atmega8 eine SD-Karte anzusteuern. 
Die Karte ist an der IPS Schnitstelle angeschlossen. Dabei werden nur 
SCK, MISO, MOSI und SS verwendet, also irgendwas wie locked oder so gibs 
nicht!
Habe dafür die eine oder andere Lib ausprobiert, aber keine war so 
einfach wie ich es haben wollte. Ich möchte einfach nur Blocks lesen und 
schreiben können. Ich will nichts mit FAT oder sonst was. Ich möchte 
einfach die Karte initialisieren, und dann zwei Funktionen haben um 
einen Block zu lesen bzw zu schreiben.
Gibts da was einfaches?

Ich arbeite mit WinAVR-20071221rc1.

PS: Ich habe natürlich eine Schaltung zwischen µC und der Karte für das 
Level-Shifting. Besteht aus drei Spannungsteilern und zwei Mosfets mit 
zwei Pullups für die Aufwärtskonvertierung ;)

Autor: Lorenz .. (lorenz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal bei Ulrich Radig vorbei. Der hat eine SD/MMC-FAT-Library 
geschrieben. die hilft dir sicher.
Lorenz

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Google nach chan fat module, auf Chans Seite die Beispiele (ffsample.zip 
oder ähnlich) runterladen, in den Beispielen fuer AVR findet sich eine 
Datei mmc.c, darin die low-level-Funktionen für SD/SDHC/MMC init, 
block-read, block-write. Ist recht ordenlicher Code und man muss 
lediglich einen "10ms-Systemtick" bereitstellen.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lorenz .. wrote:
> Schau mal bei Ulrich Radig vorbei. Der hat eine SD/MMC-FAT-Library
> geschrieben. die hilft dir sicher.
> Lorenz

Jo, schaue ich mir grade an und versuche den reinen SD/MMC Part zu 
extrahieren, ist gar nicht so einfach.
Andere Farge: Mach ich was falsch oder ist irgendwie jeder, der sowas 
schreib zu b**d C zu programmieren? Es wird dauerhaft sowas wie "for(int 
i=0; .." verwendet, was aber meines Wissens nach in C nicht erlaubt ist 
und mein Compiler hauts mir auch um die Ohren.

Edit: Glaube die Lib ist nicht für einen Atmega8 geeignet, denn er 
meint, dass alles mögliche wie z.B. SPI_DI undefiniert sind... wenn ich 
in die .h schaue wird SPI_DI für einen mega32 und mega128 definiert, 
nicht aber für atmega8.
Ganz abgesehen davon, wofür brauche ich das, wenn ich im Hardware Modus 
betreiben will?


> ...in den Beispielen fuer AVR findet sich eine
> Datei mmc.c, darin die low-level-Funktionen für SD/SDHC/MMC init,
> block-read, block-write.

Öhh... welche Beispiele? bei meinem WinAVR waren wohl keine dabei, 
zumindest kann ich im gesamten Installationsordner keine mmc.c finden.

Autor: Johnny Maxwell (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Andere Farge: Mach ich was falsch oder ist irgendwie jeder, der sowas
> schreib zu b**d C zu programmieren? Es wird dauerhaft sowas
> wie "for(int i=0; .." verwendet, was aber meines Wissens nach in C
> nicht erlaubt ist und mein Compiler hauts mir auch um die Ohren.

Kommt darauf an, in der C99 Spezifikation ist das erlaubt. Ein neuerer 
Compiler sollte das unterstützen, evtl. musst du das aber erst 
aktiviern.

Bei gcc z.B. durch -std=c99

Siehe http://de.wikipedia.org/wiki/Varianten_der_Program...

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahh cool, danke.
Dann werde ich das doch glatt mal Aktivieren ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.