Citazione:
Originalmente inviato da MSchiepp Allora prova così:
main:
gpio.0=0
gpio.1=0
gpio.2=0
K=0
trisio.1=0
trisio.2=0
trisio.0=1
cmcon=7
while true
if (gpio.0=1) then
while(gpio.0=1)
delay_ms(100)
wend
K = K+1
if (K>3) then
K=0
end if
end if
if (K=0)...
in questo modo l'effetto cambia quando rilasci il pulsante e non quando lo premi...
Michele |
Ciao.
per prima cosa vorrei ringraziarti per il tempo che mi stai dedicando.
Ma anche in questo modo , mi si impunta al secondo effetto.
Quindi mi chiedo, sto sbagliando a settare le porte del pic?
il pic è un 12f629 ho scelto questo perchè molto piccolo.
Allora ho deciso di ricominciare da zero.
ecco come ho scritto il programma:
program prova
while true
main:
trisio.0=1
trisio.1=0
trisio.2=0
gpio.0=0
gpio.1=0
gpio.2=0
while gpio.0=0
gpio.1=1
gpio.2=0
delay_ms(1000)
gpio.1=0
gpio.2=1
delay_ms(1000)
wend
while gpio.0=0
gpio.1=1
gpio.2=1
delay_us(1000)
gpio.1=0
gpio.2=0
delay_us(1000)
wend
wend
end.
in questo modo ho notato che 2 effetti me li fa perfettamente, non da problemi neanche il pulsante, cambia l'effetto immediatamente.
Non ho avuto bisogno di inserire nessun goto, perchè quando cambio lo stato di gpio.0, esce dal while e non so per quale profezia, va al while successivo, ho messo il while totale perchè superato l'ultimo while, non tornerebbe all'inizio.
HO il problema che quando aggiungo il 3 effetto, non me lo legge assolutamente,io non capisco dove sbaglio, cioè esegue perfettamente i primi 2 poi bam.... torna all'inizio.
Ho provato anche ad aggiungere al 2 while un goto, ma non legge nulla.
Come posso fare per eseguire 3 semplici effetti?
O hai qualche consiglio per modificare questo ultimo che ho fatto e che al 75% funziona?
Grazie ancora