SPI-Verbindung 2er MIcrocontroller

OP #692775
Lesenswert?

Hallo

Ich versuche gerade die Datenübermittlung zwischen zwei Microcontrollern 
per SPI hin zu bekommen. Ich habe dazu MISO,MOSI,SCK und SS wie im 
Datenblatt beschrieben verbunden und die im Anhang aufgeführten 
Programme geschrieben.
Die LEDs die am Slave angeschlossen sind,sollen am Anfang nicht leuchten 
und nach dem Empfang des Bytes vom Master so leuchten,wie es des Master 
vorgibt.

Leider bleiben sie immer im Anfangszustand,also auch wenn sie vor der 
Datenübermittlung brannten,tun sie es danach auch noch. Wenn sie davor 
aus waren,sind sie es danach auch noch...

Schaut euch mal die Quellcodes an,vielleicht weiss ja einer Rat...

Gruß Michi
Angehängte Dateien:
Gast #692789
Lesenswert?

- Nimm mal beim slave das "rcall SPI_SlaveInit" aus der Endlosschleife
- schalte die richtigen Ports auf eingang/ausgang (Tipp: Hardware-SPI 
liegt auf PORT_B_)
- schalte die richtigen PINS! wenn du Hardware SPI benutzen willst, 
musst du auch die Hardware anschließen (beim mega8: PortB3-5)

rtfm! Jörg
Gast #692839
Lesenswert?

> kannst du 1:1 verbinden, MISO und MOSI müsstest du aber drehen, halt
> MISO des einen Proz auf MOSI des anderen und umgekehrt.

Quatsch. MISO mit MISO und MOSI mit MOSI verbinden! Die Funktion der 
beiden Leitungen wird über die Register der SPI bestimmt.

MOSI == "Master Out, Slave In"

   Beim Master ist dies der Datenausgang, beim Slave der Dateneingang

MISO == "Master In, Slave Out"

   Beim Master ist dies der Dateneingang, beim Slave der Datenausgang

Gruß,
Magnetus
OP #694487
Lesenswert?

Ok jetzt funktionierts(hatte 2Leitungen vertauscht).

Jetzt würde ich aber gern noch Daten vom Slave zum Master übertragen.
Dazu lade ich im Slave vor der Übertragung das zu Übertragende Byte in 
SPDR.

Der Master liest dann nach der Übertagung SPDR aus,also die DAten,die er 
vom Slave erhalten hat.
Das klappt eigentlich auch schon,nur flackern zum Teil noch LEDs die aus 
sien sollen.

Was kann da falsch sein?

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