For couple of buttons this code works fine, but when I increase number of button handling operations, some weird things occur - the further from beginning is the button handling routine, more rarely it responds to user.
The code below has 8 "blocks" of button handling.
first 3 work fine, 4th one works only maybe on 10 or 15th press. 5th and further - do not work at all.
And this is not issue of particular code - if I move say "5th block" to 1st place of this code, then it works fine.
PIC18F45K80 @64mhz.
Code:
IF UPBT=0 THEN
MENUITEM=MENUITEM+1
IF MENUITEM>6 THEN MENUITEM=1
pause 200
ENDIF
WHILE UPBT=0:WEND
IF DNBT=0 THEN
MENUITEM=MENUITEM-1
IF MENUITEM<1 THEN MENUITEM=6
pause 200
ENDIF
WHILE DNBT=0:WEND
IF LBUT=0 AND MENUITEM=2 THEN
RICXVI=RICXVI+1
IF RICXVI>31 THEN RICXVI=1
pause 200
GOSUB SETTIME
ENDIF
WHILE LBUT=0:WEND
IF RBUT=0 AND MENUITEM=2 THEN
RICXVI=RICXVI-1
IF RICXVI<1 THEN RICXVI=31
pause 200
GOSUB SETTIME
ENDIF
WHILE RBUT=0:WEND
IF LBUT=0 AND MENUITEM=1 THEN
TVE=TVE+1
IF TVE>13 THEN TVE=1
pause 200
GOSUB SETTIME
ENDIF
WHILE LBUT=0:WEND
IF RBUT=0 AND MENUITEM=1 THEN
TVE=TVE-1
IF TVE<1 THEN TVE=13
pause 200
GOSUB SETTIME
ENDIF
WHILE RBUT=0:WEND
IF LBUT=0 AND MENUITEM=3 THEN
DGE=DGE+1
IF DGE>7 THEN DGE=1
pause 200
GOSUB SETTIME
ENDIF
WHILE LBUT=0:WEND
IF RBUT=0 AND MENUITEM=3 THEN
DGE=DGE-1
IF DGE<1 THEN DGE=7
pause 200
GOSUB SETTIME
ENDIF
WHILE RBUT=0:WEND
Bookmarks