PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SPI klappt nicht



p_mork
22.04.2007, 13:10
Hallo,

ich bin gerade dabei, ein eigenes TV-Telminal zu schreiben. Leider funktioniert bei mir SPI aus irgendeinem Grund nciht so, wie es sollte:



ldi r16,(1<<SPE)|(1<<MSTR)|(1<<SPR0)
out spcr,r16 ;SPI einschalten mit 1/16 F_CPU

ldi r16,0b01010101
out spdr,r16 ;0b01010101 über SPI senden

wait1:
sbis spsr,spif ;warten, bis das Byte gesendet wurde
rjmp wait1

out spcr, zero ;SPI deaktivieren, damit PB5 als
;normaler I/O benutzt werden kann


Laut Datenblatt sollte es funktionieren. Das Register 'zero' beinhaltet immer eine 0.
Kann jemand meinen Fehler erkennen?

MfG Mark

EDIT: Sry, hab vergessen zu erwähnen was genau nicht funktioniert. Der Controller hängt sich in der Schleife 'wait1' immer auf.