format_list_bulleted

Gestion du temps

Simplifier la gestion du temps dans vos programmes

millis()

Syntaxe

millis();

Description

millis() retourne le temps écoulé (en millisecondes) depuis que le début du programme. La fonction ne prend aucun argument et renvoie un unsigned long.

infoLe compteur "overflow" (revient à zéro) après environ 50 jours.

Exemple

#include <BRAINZY.h>

unsigned long time;

void setup(){
  USB.begin(115200);
}
void loop(){
  USB.print("Temps écoulé : ");
  time = millis();
  USB.println(time); // prints time since program started
  delay(1000);       // wait a second so as not to send massive amounts of data
}

micros()

Syntaxe

micros();

Description

micros() retourne le temps écoulé (en microsecondes) depuis que le début du programme. La fonction ne prend aucun argument et renvoie un unsigned long.

infoLe compteur "overflow" (revient à zéro) après environ 70 min.

Exemple

#include <BRAINZY.h>

unsigned long time;

void setup(){
  USB.begin(115200);
}
void loop(){
  USB.print("Temps écoulé : ");
  time = micros();
  USB.println(time); // prints time since program started
  delay(1000);       // wait a second so as not to send massive amounts of data
}

elapsedMillis

Syntaxe

elapsedMillis sinceTime;

Description

elapsedMillis permet de facilement répéter des tâches à interval régulier sans utiliser de fonctions blocantes tel que la fonction delay().

Exemple

#include <BRAINZY.h>

// create elapsedMillis outside loop(), to
// retain its value each time loop() runs.
elapsedMillis sinceTest1;
elapsedMillis sinceTest2;
elapsedMillis sinceTest3;

void setup(){
  //votre code...
}

void loop() {
  if (sinceTest1 >= 1000) {
    sinceTest1 = sinceTest1 - 1000;
    USB.println("Test1 (1 sec)");
  }
  if (sinceTest2 >= 2700) {
    sinceTest2 = sinceTest2 - 2700;
    USB.println("\tTest2 (2.7 sec)");
  }
  if (sinceTest3 >= 1300) {
    sinceTest3 = sinceTest3 - 1300;
    USB.println("\t\tTest3 (1.3 sec)");
  }
}

delay()

Syntaxe

delay();

Description

delay() met en pause le programme pendant une durée spécifiée en millisecondes. La fonction prend en argument un unsigned long et ne renvoie aucune variable.

warningCette fonction n'est pas recommandée car elle bloque et met en pause tout le programme.

Exemple

#include <BRAINZY.h>

void setup(){
  //votre code...
}
void loop(){
  //votre code...
  delay(1000);
  //votre code...
}

delayMicroseconds()

Syntaxe

delayMicroseconds();

Description

delayMicroseconds() met en pause le programme pendant une durée spécifiée en microsecondes. La fonction prend en argument un unsigned int et ne renvoie aucune variable.

warningCette fonction n'est pas recommandée car elle bloque et met en pause tout le programme.

Exemple

#include <BRAINZY.h>

void setup(){
  //votre code...
}
void loop(){
  //votre code...
  delayMicroseconds(10);
  //votre code...
}

IntervalTimer

TODO