Es ist immer gefährlich, wenn ISR und normal Routinen die gleichen Werte bepflastern, überhaupt, wenn es mehrbytige sind (integer)
Je nachdem, was "display" tut, kann es auch ein timing-problem sein.
10 mS kannst du bei 9600 Baud grade ~10 Zeichen auf den Schirm bringen. d.h. wenn du danach x= 0 setzt, hätte der interrupt vielleicht schon wieder zählen wollen.
Egal:
Kontrolliere mal die logische Richtigkeit, indem du
dadurch prügeln sich die Burschen nicht mehr nieder und eigentlich sollte es klappendisable interrupts
if x = 10 then
x=0
enable interrupts
zege was auf display an
end if
enable interrupts ' (2 mal macht auch nix)
Lesezeichen