| | #17 (permalink) Top | |
| User Data registr.: 19-07-2014
Messaggi: 17
| Citazione:
allora questo è quello che ho scritto da 0... con soli 2 effetti e funziona. Se aggiungo il 3 effetto lo salta: [program Lampeggioled main: while TRUE trisio.1=0 trisio.2=0 trisio.0=1 gpio.1=1 gpio.2=1 cmcon=7 delay_ms(2000) while gpio.0=0 gpio.1=1 delay_ms(1000) gpio.1=0 delay_ms(1000) wend while gpio.0=0 delay_ms(2000) gpio.2=0 delay_ms(2000) wend wend Mentre questo è il primo in assoluto che ho realizzato... Solo che ogni volta che premo il pulsante, mi va random: program MyProject main: TRISIO.1=0 TRISIO.2=0 TRISIO.0=1 cmcon=7 IF gpio.0=0 THEN GOTO fissa end if fissa: TRISIO.1=0 TRISIO.2=0 TRISIO.0=1 cmcon=7 while true gpio.1=1 gpio.2=1 if gpio.0=1 then goto inizio end if wend inizio: delay_ms(100) TRISIO.1=0 TRISIO.2=0 TRISIO.0=1 cmcon=7 while true if gpio.0=1 then goto mezzo end if GPIO.1=1 gpio.2=1 delay_us(50) GPIO.2=0 gpio.1=0 delay_us(50) IF GPIO.0=1 THEN GOTO mezzo end if wend mezzo: delay_ms(100) TRISIO.1=0 TRISIO.2=0 TRISIO.0=1 cmcon=7 while true if gpio.0=1 then goto strobo end if gpio.2=1 delay_ms(500) gpio.2=0 delay_ms(500) gpio.1=1 delay_ms(500) gpio.1=0 delay_ms(500) if gpio.0=1 then goto strobo end if wend strobo: delay_ms(100) TRISIO.1=0 TRISIO.2=0 TRISIO.0=1 cmcon=7 while true if gpio.0=1 then goto fissa end if gpio.1=1 gpio.2=1 delay_ms(50) gpio.1=0 gpio.2=0 delay_ms(50) if gpio.0=1 then goto fissa end if wend end. INFINE, questo è quello che ho provato inserendo la variabile K ed eliminando i goto. Questo si blocca al secondo effetto e da li non si muove: program Lampeggioled const tasto as byte[4]=(0,1,2,3) dim K as byte dim premuto as byte main: gpio.0=0 gpio.1=0 gpio.2=0 K=0 premuto=0 trisio.1=0 trisio.2=0 trisio.0=1 cmcon=7 while true if gpio.0=0 then premuto=0 end if if (gpio.0=1)and (K<3) and (premuto=0) then K=K+1 premuto=1 end if if(gpio.0=1) and (K=3)and(premuto=0)then K=0 end if if K=0 then gpio.1=1 gpio.2=1 end if if K=1 then gpio.1=1 gpio.2=1 delay_us(50) gpio.1=0 gpio.2=0 delay_us(50) end if if K=2 then gpio.1=1 delay_ms(500) gpio.1=0 delay_ms(500) gpio.2=1 delay_ms(500) gpio.2=0 delay_ms(500) end if if K=3 then gpio.1=1 gpio.2=1 delay_ms(50) gpio.1=0 gpio.2=0 delay_ms(50) end if wend end. Ora tutti e 3 hanno dei problemi, e fino ad ora, l'unico che cambia perfettamente è quello con i soli while, ma non legge (se lo aggiungo ) il 3o effetto[/COLOR] | |
| | |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| pic 12F629 | faustog_2 | Circuiti Elettronici | 2 | 07 ottobre 13 11:52 |
| ESC con PIC | Italia | Circuiti Elettronici | 4 | 23 marzo 13 16:27 |
| Problema con programma MPX per aggiornamento Royal PRO | picman | Radiocomandi | 0 | 29 agosto 10 20:27 |
| Programma facile per pic | Orso82 | Circuiti Elettronici | 20 | 27 febbraio 05 16:44 |
| Regolatore con PIC | rapis | Circuiti Elettronici | 1 | 26 novembre 01 11:15 |