Visualizza messaggio singolo
Vecchio 22 luglio 14, 10:20   #8 (permalink)  Top
microcontrollorepic
User
 
L'avatar di microcontrollorepic
 
Data registr.: 18-07-2007
Residenza: milano
Messaggi: 1.495
Citazione:
Originalmente inviato da trabo Visualizza messaggio
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
ciao,
non so che tipo di programmatore usi ma se hai la EasyPIC, "io ho la 5"
ha la possibilita del debag, in pratica controlli linea per linea in tempo reale il tuo programma variabili comprese.......

io di solito per i pulsanti uso la funzione case select

Flavio
__________________
SITO INTERNET:
Taglio cnc,https://www.rebasti.it/categoria-pro...B4q6Zc71GROXn4
microcontrollorepic non è collegato   Rispondi citando