2017-09-14 4 views
0

J'essaie de faire un peu de minuterie sur mon NodeMCU v3.Pourquoi ma minuterie esp8266 n'a pas fonctionné

Je veux régler une durée en millisecondes après que la led devrait continuer. Et quand je définis une nouvelle heure, elle devrait s'éteindre.

unsigned long times; 

void setup() { 
    Serial.begin(9600); 
    pinMode(2, OUTPUT); 
    times = 0; 

} 

void loop() { 

    while(Serial.available()==0){} 
    times=Serial.parseInt(); 
    times=times+ millis(); 
    Serial.print(times); 
    Serial.println(" Millis"); 

    if (millis() > times) 
    { 
    digitalWrite(2, LOW); 
    } else { 
    digitalWrite(2, HIGH); 
    } 
} 

Le voyant se éteint et rallume pas Il est actif bas.

Répondre

0

while(Serial.available()==0){} Cette ligne dit: exécuter le code entre les parenthèses als longtemps qu'il n'y a pas de données sur Serial.

Et si vous tapez quelque chose sur Serial, le code s'exécutera une fois. En fonction de la valeur de millis(), qui peut déborder, la led serait éteinte.

Vous devez donc avoir votre logique!