die letzte Abfrage würde ich sicherheitshalber mit >= abfragen.
if (igr>=213) denn wenn das Programm mal etwas länger braucht könnte der Zähler evtl. schon auf 214 stehen, was passiert dann eigentlich ?
Ich vermute dann stehen deine Lampen eine ganze Weil lang still bis die Variable bis auf 65535 hochgezählt hat und dann auf 0 springt.
Ich würde diese Abfrage sogar direkt in die Interrupt Routine packen.
if (igr < 213) igr++; else igr = 0;
dann kann das erst garnicht passieren und die Variable wird nur noch im Interrupt geändert.
klärt aber immer noch nicht dein Problem![]()
Lesezeichen