Pagina 1 di 1

Doppio display: istruzioni necessarie ?

MessaggioInviato: 23 apr 2017, 1:17
da jova
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" ?

Re: Doppio display: istruzioni necessarie ?

MessaggioInviato: 23 apr 2017, 2:21
da WALTERmwp
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

Re: Doppio display: istruzioni necessarie ?

MessaggioInviato: 23 apr 2017, 3:03
da jova
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.