Go Down

Topic: Ajuda com a função millis (Read 924 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


Go Up