Hallo,

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

Code:
		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.