SUB --- END SUB
Il limite massimo di subroutine che si possono richiamare all’interno di un altra sub routine, varia da microcontrollore a microcontrollore, in basso riporto una tabella descrittiva.
Un' altra potenzialità della subroutine è quella di poter accettare dei parametri, la sintassi è la seguente:
SUB NOME_SUB (PARAMETRO1 PARAMETRO2 PARAMETRO3)
...
ISTRUZIONI
...
END SUB
I parametri sono dei valori passati alla subroutine e possono essere usati all’interno della subroutine
stessa.
Supponiamo una subroutine come questa:
#CHIP 16F84, 4 'Tipo di PIC utilizzato
DIR PORTA OUT 'Definisco le porte d'uscita
DIR PORTB IN 'e d'ingresso
Ciclo:
'Se c'è un ostacolo a destra il microrobot salta
'all'etichetta sinistra
IF PortB.2 = 1 THEN MOVIMENTO 0
'Se c'è un ostacolo a sinistra il microrobot salta
'all'etichetta DESTRA
IF PortB.3 = 1 THEN MOVIMENTO 1
'Se non c'è nessun ostacolo
PortA = b'00001001'
'Il microrobot va avanti
GOTO Ciclo
SUB MOVIMENTO (TIPOMOVIMENTO) #NR
IF TIPOMOVIMENTO = 1 THEN
PortA = b'00000110' 'Il microrobot va indietro
WAIT 1 sec 'Attende pochi secondi
PortA = b'00000101' 'Il microrobot gira a destra
WAIT 1 sec 'Attende pochi secondi
END IF
IF TIPOMOVIMENTO = 0 THEN
PortA = b'00000110' 'Il microrobot va indietro
WAIT 1 sec 'Attende pochi secondi
PortA = b'00001010' 'Il microrobot gira a sinistra
WAIT 1 sec 'Attende pochi secondi
END IF
END SUB 'Fine della subroutine
END 'Fine del programma
In questo caso quando il programma eseguirà l’istruzioni IF PortB.2 = 1 THEN MOVIMENTO 0 sarà richiamata la subroutine MOVIMENTO dove passeremo il parametro TIPOMOVIMENTO che potrà essere o zero o uno. Se il parametro passato è uno il microrobot girerà a destra se invece sarà zero il microrobot girerà a sinistra.
Come vedete nelle subroutine possiamo trovare un programma con le istruzioni di condizione
precedentemente viste, in questo caso l’istruzione di condizione IF.
Per semplificare l’esempio ho utilizzato un solo parametro ma se ne possono usare di più, il valore
massimo dei parametri non è riportato nelle specifiche del compilatore che stiamo usando quindi
fate affidamento al sito del produttore.
Aggiunta il link al corso Linux Uno su Udemy.
Aggiunto il tutorial per la realizzazionedi un Arcade con materiale di riciclo.