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!
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
> 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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.