• X ist ein 16-Bit-Wert. Greifst du atomat darauf zu? Es wird in einer ISR geändert!!!


Auf dem ersten Blick wurde ich sagen: dass ist vielleicht die Ursache!

Aber, vor ein paar Tagen hab ich gelernt dass interrupts die mit SIGNAL deklariert sind (so wie in meinem Program) einander NICHT unterbrechen konnen.
Ein interupt kann nur ein main() Funktion unterbrechen.
Interrupt Functionen werden immer nach einander ausgefuht. Wenn der eine fertig ist, startet die nachtse.

Da ALLE meine funktionen in interrupts stattfinden konnte es dass nicht sein.
(Die main() Funktion hat nur ein einziges 'while(1);' statement.)

Gruss

Henk