Forum: Mikrocontroller und Digitale Elektronik SPI an 2xAtmega16 "hängt"


von Michael (Gast)


Lesenswert?

Hallo,
habe ein Problem mit der SPI Schnittstelle.

Ich hab im Forum gesucht und diesen Beispielcode gefunden:
http://www.mikrocontroller.net/forum/read-4-64327.html#new

Ich hab mir den Code dann auf 2 Atmegas 16 umgeschrieben, aber es
passiert nichts.

Ich bin jetzt soweit, dass ich glaube, dass der Master immer an dieser
Stelle hängen bleibt: while (!(SPSR & (1<<SPIF)));
einmal kann diese Stelle passiert werden, dannach bleibt der Atmega
stecken.

Und beim Slave wird nie das Interrupt ausgelöst.

Beide Schaltungen beinhalten einen 16 MHz Quarz.

Kann mir jemand helfen, bin am verzweifeln...


Gruß
Michael

von Michael (Gast)


Lesenswert?

So habs rausgefunden:

und zwar muss man den SS-Pin (beim Atmega PB4) beim Master als Ausgang
definieren!!!!!!!!!

sehr wichtig!!!!!!

von Philip Rehkop (Gast)


Lesenswert?

Moin,

man kann den SS-Pin auch als Eingang definieren und dann per internem
oder externem PullUp auf High halten.

Wird SS dann auf Low gezogen fühlt sich der Controller als Slave
angesprochen und stellt den Master-Betrieb ein.

Seht auch alles in Datenblatt auf Seite 138.

Gruss, Philip.

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.