www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI mit dsPIC33


Autor: Sebastian Schmidt (sebbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe 2 µCs(dsPIC33FJ128MC710) die ich per SPI miteinander 
kommunizieren lassen will. Dabei soll einer der Master und der andere 
der Slave sein. Beide sollen Daten senden und empfangen. Laut Datenblatt 
von Microchip generiert der Master die serial clock. Diese kommt aber 
nur wenn Daten gesendet werden. Meine Frage ist nun wie ich mit dem 
Slave Daten senden kann, da dieser ja die serial clock vom Master 
benötigt. Muss ich dann um Daten mit dem Master vom Slave empfangen zu 
können jedes Mal Daten auch mit dem Master senden?
Habe schon alles mögliche ausprobiert doch leider hat nichts geklappt. 
Würde mich sehr freuen falls mir jemand weiterhelfen könnte!

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

die SPI-Schnittstelle ist nicht geeignet daten zwischen zwei 
gleichberechtigten Partnern auszutauschen. Der Slave generiert keinen 
Takt, und der Master generiert den Takt nur wenn er sendet. SPI empfängt 
und sendet gleichzeitig. Will der Master Daten vom Slave empfangen, 
sendet man ein "dummy-byte" und damit empfängt der Master auch 1 byte.

gerhard

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Muss ich dann um Daten mit dem Master vom Slave empfangen zu
> können jedes Mal Daten auch mit dem Master senden?

Ja, das ist eine Eigenheit der SPI Schnittstelle - unabhängig vom 
verwendeten Controller.

Wenn der Slave von sich aus was mitteilen will benötigt man eine 
zusätzliche Leitung "ich hab was" vom Slave zum Master.

Autor: Sebastian Schmidt (sebbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Hilfe!
Bekomme auch immmer mehr das Gefühl, dass SPI nicht der sinnvollste Weg 
ist. Allerdings war dies Vorgabe und lässt sich nicht mehr ändern. Muss 
also versuchen es mit SPI hinzubekommen. Werde es dann wohl mit 
dummybytes versuchen.
Also nochmal Danke für die raschen Antworten.

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.