Nella codifica seguente, riferita alla visualizzazione di un contatore su 2 display,
// display number
unsigned long startTime = millis();
for (unsigned long elapsed=0; elapsed < 600; elapsed = millis() - startTime) {
lightDigit1(numbers[digit1]);
delay(5);
lightDigit2(numbers[digit2]);
delay(5);
}
che funzione svolge il codice in rosso che precede le chiamate a "lightDigit1" e "lightDigit2" ?
Cosa potrebbe succedere se la parte in rosso si volesse omettere, lasciando solamente le chiamate alle due funzioni "lightDigit1/2" ?
Doppio display: istruzioni necessarie ?
Moderatori: MassimoB,
WALTERmwp,
xyz
3 messaggi
• Pagina 1 di 1
0
voti
0
voti
Consente di ripetere l'aggiornamento (il refresh) dei due display in modo alternato e ininterrotto almeno sino a che la variabile elapsed non raggiunge il valore limite (in tal caso fissato a 600).
Se elimini il ciclo for, probabilmente, ti ritrovi con il primo display spento e il secondo, forse, acceso.
Questo perché i display sono gestiti in multiplexing, corretto ?
Saluti
Se elimini il ciclo for, probabilmente, ti ritrovi con il primo display spento e il secondo, forse, acceso.
Questo perché i display sono gestiti in multiplexing, corretto ?
Saluti
W - U.H.F.
-
WALTERmwp
27,4k 4 8 13 - G.Master EY
- Messaggi: 8203
- Iscritto il: 17 lug 2010, 18:42
- Località: le 4 del mattino
0
voti
Sì, sono in multiplexer. Ah, quindi le due funzioni sono coinvolte direttamente nel ciclo for...Non capivo perché mi aspettavo un indice tipo "for int i=0.....".Domani provo e ti faccio sapere come si comportano i display.
3 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 1 ospite