Forum: Mikrocontroller und Digitale Elektronik Ein paar Verständnisfragen zum SPI


von ape (Gast)


Lesenswert?

Hallo

ich bastel gerade an der Kommunikation über SPI zwischen einem mega128
(master) und einem mega16 (slave)

Die Kommunikation von Master zu Slave funktioniert auch schon, aber wie
schaffe ich es das der Slave Daten sendet, bzw. wie veranlasse ich den
master Daten aus dem Slave zu lesen.

Wen ich einfach nur ein byte auf slave seite in SPDR schreibe kommt
nichts raus. wie funktioniert das überhaupt? der slave kann ja nur
senden wenn der Master einen clock generiert. der master generiert aber
nur einen clock wenn er sendet. sendet dann der slave den inhalt von
SPDR wenn der master anfängt zu senden? so hab ich sprobiert das geht
nicht.

Leider sind die Atmel-Datenblätter zum Thema SPI nich sehr
aussagekräftig.

mfg
ape

von ape (Gast)


Lesenswert?

ach und nochwas
die mosi leitung ist, wenn keine daten übertragen werden, high.
die miso leitung dagegen ist low. hat das seine richtigkeit?

von Stefan (Gast)


Lesenswert?

Der Slave muss seine Daten ins Schieberegister schreiben und warten, bis
der Master die Übertragung startet. Nachdem der Master die Übertragung
beendet hat, kann er das Byte des Slave aus seinem Schieberegister
lesen. Der Slave selbst kann keine Übertragung starten.

Stefan

von ape (Gast)


Lesenswert?

alles klar funktioniert

man muss natürlich den Port auf dem das SPI liegt auch auf output
schalten, damit er senden kann.
schön das das im datenblatt steht :/

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
Noch kein Account? Hier anmelden.