Ajuda com a função millis

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-(s1000)-(m60000);

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 ();

}

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