format_list_bulleted

Gestion du temps

millis()

Syntaxe

millis();

Description

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

infoLe compteur "overflow" (revient à zéro) après 4 294 967 295 ms, soit environ 50 jours.

Exemple

#include <BRAINZY.h>

void setup(){
  SerialUSB.begin(115200);
}
void loop(){
  SerialUSB.print("Temps écoulé (ms) : ");
  unsigned long time = millis();
  SerialUSB.println(time);
  delay(1000);
}

micros()

Syntaxe

micros();

Description

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

infoLe compteur "overflow" (revient à zéro) après 4 294 967 295 us, soit environ 70 min.

Exemple

#include <BRAINZY.h>

void setup(){
  SerialUSB.begin(115200);
}
void loop(){
  SerialUSB.print("Temps écoulé (us) : ");
  unsigned long time = micros();
  SerialUSB.println(time);
  delay(1000);
}

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>

elapsedMillis sinceTest1;
elapsedMillis sinceTest2;
elapsedMillis sinceTest3;

void setup(){
  SerialUSB.begin(115200);
}

void loop() {
  if (sinceTest1 >= 1000) {
    sinceTest1 = sinceTest1 - 1000;
    SerialUSB.println("Test1 (1 sec)");
  }
  if (sinceTest2 >= 2700) {
    sinceTest2 = sinceTest2 - 2700;
    SerialUSB.println("Test2 (2.7 sec)");
  }
  if (sinceTest3 >= 1300) {
    sinceTest3 = sinceTest3 - 1300;
    SerialUSB.println("Test3 (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 est à utiliser avec précaution car elle bloque et met en pause tout le programme.

Exemple

#include <BRAINZY.h>

void setup(){
  SerialUSB.begin(115200);
}
void loop(){
  SerialUSB.println("Wait 1s...");
  delay(1000);
}

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 est à utiliser avec précaution car elle bloque et met en pause tout le programme.

Exemple

#include <BRAINZY.h>

void setup(){
  SerialUSB.begin(115200);
}
void loop(){
  SerialUSB.println("Wait 10us...");
  delayMicroseconds(10);
}