La fonction millis() permet de lire le temps écoulé en milliseconde depuis le lancement du programme présent dans la carte Arduino.
La valeur du temps atteindra sa valeur maxi au bout d'approximativement 50 jours (retour à 0 après dépassement).
Exemple de programme :
Remarque : On pourrait s'attendre à voir s'afficher 0, 1000, 2000, 3000, etc. puisque la pause est de 1000 ms.
Toutefois un décallage apparaît, car il faut ajouter le temps d'exécution de la boucle qui est ici d'environ 0,3 ms.
La pause dans un programme peut quelquefois s'avérer gênante car le programme est bloqué pendant cette pause. Il ne peut réagir à rien.
Nous allons découvrir maintenant une utilisation intéressante de millis() qui va justement nous permettre de contourner cette pause.
Le programme exécute la boucle en continue sans réaliser de pause. Lorsque la différence de temps entre l'ancienne heure et la nouvelle atteind 2000 ms, alors la condition if() exécute l'action prévue. Dans cet exemple, on affiche simplement l'heure écoulée en milliseconde depuis le démarrage du programme.