Gast
#4197
Hallo Spezialisten, ich habe hier ein merkwürdiges Verhalten bei meiner SPI Schnittstelle. Hier mal ein Auszug aus der Senderoutine: reset_slave: ;cbi portb,4 ;enable Slave cbi spsr,spif ;spif löschen ldi temp1,$01 sbi spcr,spe ;enable SPI out spdr,temp1 ;reset senden, Init Slave warten: sbis spsr,spif ;wenn Flag gesetzt, weiter rjmp warten ;sonst noch warten cbi spcr,spe ;SPI abschalten rcall time_100us ;100µS warten, dann weiter rjmp reset_slave In dieser Routine (in 8 von 10 Fällen wird der Slave korrekt initialisiert) ist auf dem Oszilloskop folgendes verhalten zu beobachten, es erscheinen auf der SCK Leitung 8 Taktimpulse, Pulsdauer ca. 16µS. Mit dem 8. Impuls wird auch richtig eine "1" auf MOSI ausgegeben und mit der ansteigenden Flanke vom Slave übernommen. Aber dann erscheint noch ein Taktimpuls mit einer Dauer von ca. 2µS. Dieser Impuls führt offensichtlich zu einer Verwirrung des Slave`s da ja MOSI auf irgendeinem Pegel liegt und dieser dann eben nach 2µS übernommen wird. Wer kann mir da mal unter die Arme greifen? Dank und Gruß, Günter