Gast
#1260495
Hallo, ich habe einen ATMega32 der über SPI ein Display ansteuert. Wenn ich vor der Übertragung ein CLI() und danach ein SEI() setze geht es auch gut. Wenn ich aber die interrupts aktiv lasse (Timer und Seriell) dann wird teilweise Unsinn versendet. Der Nachteil von CLI() ist, dass wenn Bytes auf der Seriellen Schnittstelle (Rx) empfangen werden, überschreibt das zweite Byte das erste wenn beim Empfang des ersten Bytes gerade eine SPI Botschaft versendet wird. Wieso stört der Sprung in die ISR überhaupt das versenden eines einzelnen Bytes das bereits im SPDR liegt??