mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lesen von SD-Card Unterschied HW/SW-SPI


Autor: Johannes H. (menschenskind)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe hier den Code von Ulrich Radig und darin wird vor dem 
eigentlichen Lesen noch mal ein 0xFF an die Karte gesendet. Aber nur 
beim HW-SPI. Bei der SW-Variante entfällt dieses Byte.
Bei einer anderen CodeVariante für einen MSP-uC hab ich das auch so 
gesehen.

Könnt ihr mir sagen, womit das zusammenhängt?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist das Dummy-Byte. Braucht man bei SPI, wenn man Lesen will. Lesen 
ist ja nix anderes, als ein Byte rein schieben und das, was 
rausgeschoben wird, gleichzeitig zu lesen. Reines Lesen geht bei SPI 
nicht, es muss immer gleichzeitig was geschrieben werden. SPI sind im 
Prinzip 2 zusammen geschaltete Schieberegister. Will man was raus haben, 
muss man was rein schieben.

Autor: Johannes H. (menschenskind)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum entfällt das reinschieben des Bytes dann beim Software-SPI?

Autor: Nik Bamert (nikbamert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der entfällt nicht, aber er ist nicht direkt offensichtlich. Das 
Einlesen in Software SPI wird ja so gemacht dass du 8 mal einen Pin 
toggelst und dabei den MISO in ein Byte einliest. Währenddessen liegt 
aber am Soft-SPI-Ausgang MOSI ja auch entweder high oder low, dadurch 
sendet die Software SPI gleichzeitig auch beim Lesen die 8 Bits.
Der Unterschied ist der, dass du den Takt zum Lesen bei SoftwareSpi 
quasi selbst durch das toggeln erzeugst, wobei du der HardwareSPI 
erstmal ein Dummybyte vorwerfen musst, damit das HardwareSPI Modul 
überhaupt einmal anfängt einen Takt zu erzeugen (der läuft ja nicht 
daurnd)

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.