O-kay - durch DIESEN Code werde ich so schnell nicht durchsteigen....
Macht aber fast nix. Du beschreibst ja zwei Dinge: Erstens steht und fällt das Problem mit dem Freigeben der Interrupts, und zweitens führt das Problem dazu, dass der Controller "stehenbleibt". Das ganze klingt ein bisschen nach einem Stack-Overflow, d.h. der Speicherbereich, in dem alle möglichen Register bei Interrupts, Subs und ähnlichem abgelegt werden, reicht nicht aus. Ist das der Fall, hängt sich der Controller auf.
Um zu verifizieren ob es tatsächlich der Timer1-Interrupt ist, könntest Du ja mal das Enable Interrupts stehen lassen, und stattdessen "Enable Timer1" aus dem Code löschen. Wenn der Fehler sich dann genauso verhält, kann es eigentlich nur mit dem Timer1-Interrupt zu tun haben.
Du könntest dann mal versuchen, den Hardware- und Software-Stack zu vergrößern. Wenn nichts anderes definiert wird, legt Bascom sie beim Mega8 m.W. mit je 32 Bytes an. Probier doch mal z.B. 40:
$hwstack = 40
$swstack = 40
Lesezeichen