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
ach und nochwas die mosi leitung ist, wenn keine daten übertragen werden, high. die miso leitung dagegen ist low. hat das seine richtigkeit?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.