Kann es sein, daß die Division in einer ISR einfach zu lange dauert, und es deshalb probleme gibt?

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

Wenn du den Code ändert, benutzt GCC andere Register. Eben so, wie er denkt, es sei besser. Das einmal r18 genommen wird und ein andermal r28 ist mit sicherheit kein Fehler. Du musst nur *alles* anschauen, was mit diesen Registern dort angestellt wird!