Volevo sapere se è possibile comandare 2,3 o più pin contemporaneamente con una sola istruzione invece di ripeterla nel loop più volte come nell'esempio allegato:
int rosso = 13;
int verde = 12;
int giallo = 11;
void setup() {
pinMode (rosso, OUTPUT);
pinMode (verde, OUTPUT);
pinMode (giallo, OUTPUT);
}
void loop()
{
digitalWrite (rosso, HIGH);
digitalWrite (verde, HIGH);
digitalWrite (giallo, HIGH);
delay(1000);
digitalWrite (rosso, LOW);
digitalWrite (verde, LOW);
digitalWrite (giallo, LOW);
delay(1000);
}
era per cercare di snellire il codice...Port Registers già lo conoscevo, ma non credo che funzioni su arduino mega sui pin 22-53.
csalvo1570:
era per cercare di snellire il codice...
Quindi non è una questione di velocità/contemporaneità...
Per cui, snellire in che senso?
Renderlo più chiaro o usare meno righe?
Spesso queste sono due cose opposte.
A me ad esempio sembra più "snello" usando delle funzioni:
void loop()
{
accendi();
delay(1000);
spegni();
delay(1000);
}
Si intendevo usare meno righe. Puoi farmi un esempio con le funzioni più dettagliato usando il mio codice con i tre led per favore...
Claudio_FF:
Quindi non è una questione di velocità/contemporaneità...
Per cui, snellire in che senso?
Renderlo più chiaro o usare meno righe?
Spesso queste sono due cose opposte.
A me ad esempio sembra più "snello" usando delle funzioni:
void loop()
{
accendi();
delay(1000);
spegni();
delay(1000);
}
csalvo1570:
Si intendevo usare meno righe. Puoi farmi un esempio con le funzioni più dettagliato usando il mio codice con i tre led per favore...
Difficile usare meno righe in un codice così semplice. Le funzioni rendono il loop più corto e chiaro, ma vanno aggiunte prima aumentando il numero di righe complessive.
void accendi() {
digitalWrite (rosso, HIGH);
digitalWrite (verde, HIGH);
digitalWrite (giallo, HIGH);
}
void spegni() {
digitalWrite (rosso, LOW);
digitalWrite (verde, LOW);
digitalWrite (giallo, LOW);
}
Il loro uso inizia a diventare interessante se quelle operazioni sono da compiere in diversi punti, allora si che si ottiene un consistente risparmio di righe.