istruzione while

Salve Ragazzi ,
in un programmino che ho trovato in rete ho visto che usano il while in questo modo
while(readPin(clockDown,200))
dove clockDown è un pulsante per la taraura di un orologio, ma la mia domanda era cosa serve il 200 che c'è affianco??
Grazie

readPin(clockDown,200)

È una funzione che sicuramente sta definita da quache parte dello sketch.

Se é questo sketch: http://lusorobotica.com/index.php?topic=7561.0

//Lê pino usando limiar
int readPin(int pin, int threshold)
{
 if (digitalRead(pin))
 {
 unsigned long tt = millis();
 while ((digitalRead(pin) && (millis() - tt) <= threshold));
 if (digitalRead(pin))
 return 1;
 else
 return 0;
 }
 else
 return 0;
}

È una sorta di debouce dove il tipo in pratica usa millis() bloccando il sketch. Poteva usare comunque delay().

Ciao Uwe

praticamente è l'antirimbalzo per il pulsante?

christianbortotto:
praticamente è l'antirimbalzo per il pulsante?

Sí, ma come detto scritto male in un modo troppo complicato. Anche il tempo usato (200mS) é troppo lungo. bastano 5 a 10 mS.

Ciao Uwe

Sempre ammesso che sia preso da quel programma...
Altrimenti potrebbe essere qualsiasi cosa, anche una lettura da un analogico e quel numero potrebbe essere una soglia.

Ok, saro' ripetitivo, ma ... "sprecare" un paio di resistenze ed un condensatore, e risolvere alla radice i problemi di rimbalzo, proprio mai ? ... :stuck_out_tongue: :smiley:

Etemenanki:
Ok, saro' ripetitivo, ma ... "sprecare" un paio di resistenze ed un condensatore, e risolvere alla radice i problemi di rimbalzo, proprio mai ? ... :stuck_out_tongue: :smiley:

Le righe di software si possono copiaincollare. Le saldature le devi fare tutte le volte :grin:

Ci vorrebbe un bel megatopic sull'antirimbalzo, in cui metti anche lo schema con queste R e questo C in modo da poter indirizzare tutte le richieste.