SPI mit dsPIC33

OP #739938
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!
Gast #739975
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
#739977
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.
OP #740007
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren