Citazione:
Originalmente inviato da romoloman premesso che il mikrobasic viene fornito di manuale e pertanto non dovrebbe essere di troppa difficoltà trovare i "types" e vedere che si chiamava "word"
Capisco che sei alle prime armi... ma leggere i manuali aiuta... Codice: program MyProject
' Declarations section
sub function controlla_gpio() as integer
dim count as word
count=0
while ((gpio.0=1) )
delay_ms(1)
count=count+1
wend
if (count>200) then
result=1
else
result=0
end if
end sub
main:
' RIMUOVERE I COMMENTI SUcCESSIVI IN CASO DI OSCILLATORE INTERNO
'asm
' bsf status,RP0;
' call 0x3FF
' movwf osccal
' bcf status,RP0
'end asm
TRISIO.1=0
TRISIO.2=0
TRISIO.0=1
cmcon=7
fissa:
while true
gpio.1=1
gpio.2=1
if controlla_gpio()=1 then
goto inizio
end if
wend
inizio:
delay_ms(100)
while true
GPIO.1=1
gpio.2=1
delay_us(50)
GPIO.2=0
gpio.1=0
delay_us(50)
IF controlla_gpio()=1 THEN
GOTO mezzo
end if
wend
mezzo:
delay_ms(100)
while true
gpio.2=1
delay_ms(500)
if controlla_gpio()=1 then
goto strobo
end if
gpio.2=0
delay_ms(500)
if controlla_gpio()=1 then
goto strobo
end if
gpio.1=1
delay_ms(500)
if controlla_gpio()=1 then
goto strobo
end if
gpio.1=0
delay_ms(500)
if controlla_gpio()=1 then
goto strobo
end if
wend
strobo:
delay_ms(100)
while true
gpio.1=1
gpio.2=1
delay_ms(50)
gpio.1=0
gpio.2=0
delay_ms(50)
if controlla_gpio()=1 then
goto fissa
end if
wend
end. |
Hai ragione,comunque, niente, appena premo passa al secondo effetto e poi torna subito al primo.. non va oltre