Hallo,
ich bin gerade dabei, ein eigenes TV-Telminal zu schreiben. Leider funktioniert bei mir SPI aus irgendeinem Grund nciht so, wie es sollte:
Laut Datenblatt sollte es funktionieren. Das Register 'zero' beinhaltet immer eine 0.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
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.
Lesezeichen