Go Down

Topic: Ajuda com a função millis (Read 896 times) previous topic - next topic

throttleman

Boas,
Preciso de ajuda. Estou a fazer um programa no arduino com varias funções em que numa delas pede ao utilizador os minutos e depois na última função tem um ciclo while para contar esse tempo e depois voltar ao menu principal. O que acontece é que quando volta ao menu da contagem inicia sempre com os minutos já decorridos no tempo anterior. Coloco a zero a variável que guarda o tempo mas mesmo assim aparece sempre o tempo anterior…

.
.
.

while(m < bcp){
   
   
    time = millis();
     
     m=time/60000;
     
     s=(time/1000)-(m*60);
     
     l=time-(s*1000)-(m*60000);
     
     lu=l%10;
     ld=((l-lu)/10)%10;
     lc=(l-(ld*10)-lu)/100;
     
      su=s%10;
      sd=(s-su)/10;
     
      mu=m%10;
         
      md=(m-mu)/10;
      me=(m-(md*10)-mu)/100;


      lcd.begin(20, 2);
      lcd.print("Tempo Decorrido:");
      lcd.setCursor(0, 1);
      lcd.print(" ");
      lcd.print(me);
      lcd.print(md);
      lcd.print(mu);
      lcd.print(":");
      lcd.print(sd);
      lcd.print(su);
      lcd.print(" ");
      lcd.print("Min");
      delay(500); 
    }

bcp=0;
setup ();

}

evandro_net

Olá,

A contador da função millis() só zera após 4294967295.

De uma olhada nesta função que eu fiz, talvez ajude:
http://arduino.cc/forum/index.php/topic,71212.0.html

Abraços,
Evandro

Thanks,
Evandro

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy