DO WHILE
In questo caso il ciclo DO WHILE è stato utilizzato come un ciclo FOR ovvero, sapevamo quante
volte doveva ripetere il ciclo (100), ma di solito il ciclo DO WHILE viene utilizzato per
controllare se un interruttore è stato premuto o se una variabile è stata settata.
L'esempio successivo controlla lo stato del primo interruttore del Microchip Trainer, se è attivo
esegue il ciclo altrimenti non lo esegue.
#CHIP 16f84, 4 'Tipo di PIC e frequenza
Dir PortA IN 'Istruzioni viste più avanti
Dir PortB OUT 'Istruzioni viste più avanti
DIM Contatore as BYTE 'Variabile contatore
Contatore = 0 'Inizializzazione della variabile
DO WHILE PortA.0 = 1 'Ciclo con la condizione
PORTB = Contatore 'Visualizza la variabile sulla porta B
Contatore = Contatore +1 'Incrementa il contatore
wait 2 sec 'Attende un ritardo di 2 secondi circa
LOOP 'Fine ciclo
END 'Fine del programma
Spostate il primo interruttore sullo stato logico 1 ed alimentate il PIC, il programma inizia a
funzionare, spostando l'interruttore su 0 la condizione del ciclo non è più vera e quindi si ferma.
Attenzione se spostate di nuovo l'interruttore su 1 il ciclo NON rinizia perchè ormai il programma è
arrivato all'istruzione END e quindi è terminato.
LA condizione può essere formata da numero, variabili o porte come abbiamo visto per il costrutto
IF, per chiarezza vi riporto qualche esempio
DO WHILE Valore = 0          'Valore uguale a zero
DO WHILE Valore = Numero          'Valore uguale a Numero
DO WHILE Valore > 0          'Valore maggiore di 0
DO WHILE Valore > Numero          'Valore maggiore di numero
DO WHILEValore < 10          'Valore minore di 10
DO WHILE Valore <> 0          'Valore differente da zero
DO WHILE Valore <= Numero          'Valore maggiore o uguale a Numero
DO WHILE Valore >=Numero          'Valore minore o uguale a Numero
L'istruzione PortA.0 serve a controllare lo stato del pulsante e verrà approfondita più avanti.
Aggiunta il link al corso Linux Uno su Udemy.
Aggiunto il tutorial per la realizzazionedi un Arcade con materiale di riciclo.
Aggiunta la sezione corsi.
Aggiunto il programma sulla telemetria (in fase di sviluppo).