Its very strange! If I use the same variable in init and in main(another loop), no work properly. If I use different variables, work great. Totally mistake!
Code:
varb var byte
vara var byte
x var byte
divf var byte
divf = 0
varb = 0
vara = 0
x = 0
pause 200
init:
pulsin portc.2 , 1, vara
if vara < 140 or vara > 160 then init
pause 100
pulsin portc.2 , 1, vara
if vara < 140 or vara > 160 then init
if vara > 140 and vara < 160 then goto beep
goto init
beep:
hpwm 1 , 10, 3000
high front
pause 80
low front
pause 200
hpwm 1 , 5, 1200
high front
pause 80
low front
pause 200
hpwm 1 , 10, 3000
high front
pause 80
low front
main:
pulsin portc.2 , 1, varb
hpwm 1 , x, 1954
'========================miss signal===========================
if varb < 50 then
varb = 150
x=0
low front
endif
'================================================= =============
if varb> 160 then
high front
divf=255*(varb-160)/30
if varb > 190 then varb = 190
if x > 255 then x = 255
if divf > x then x=x+2
if divf < x then x=x-6
if x < 15 then x=15
endif
if varb < 160 and varb > 140 then
low front
x = 0
endif
goto main
end
Bookmarks