start:arduino:millis
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
start:arduino:millis [2025/03/11 08:53] – [3.2 Définir plusieurs intervalles de temps] admin | start:arduino:millis [2025/03/11 09:05] (Version actuelle) – [Notes et avertissements] admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======== Fonctions millis ======== | ======== Fonctions millis ======== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ==Description== | ||
+ | |||
+ | Renvoie le nombre de millisecondes écoulées depuis que la carte Arduino a commencé à exécuter le programme en cours. Ce nombre débordera (reviendra à zéro) après environ 50 jours. | ||
+ | |||
+ | ==Notes et avertissements== | ||
+ | |||
+ | *La valeur de retour de millis() est de type unsigned long, des erreurs logiques peuvent se produire si un programmeur essaie d' | ||
+ | |||
+ | *millis() est incrémenté (pour les puces AVR 16 MHz et certaines autres) toutes les 1,024 millisecondes, | ||
+ | |||
+ | ***millis() reviendra à 0 après environ 49 jours (micros en environ 71 minutes).** | ||
+ | |||
+ | *La reconfiguration des temporisateurs du microcontrôleur peut entraîner millis()des lectures inexactes. Les cœurs « Arduino AVR Boards » et « Arduino megaAVR Boards » utilisent Timer0 pour générer des millis(). Les cœurs « Arduino ARM (32 bits) Boards » et « Arduino SAMD (32 bits ARM Cortex-M0+) Boards » utilisent le temporisateur SysTick. | ||
+ | |||
Ligne 27: | Ligne 44: | ||
Voici un petit morceau de code pour afficher ce compteur dans la console de l’IDE Arduino. | Voici un petit morceau de code pour afficher ce compteur dans la console de l’IDE Arduino. | ||
- | <code c millis.ino> | + | <code c millis020.ino> |
// Déclaration variable ValeurMillis qui va servir à stocker une valeur au format unsigned long | // Déclaration variable ValeurMillis qui va servir à stocker une valeur au format unsigned long | ||
unsigned long ValeurMillis; | unsigned long ValeurMillis; | ||
Ligne 53: | Ligne 70: | ||
Voici un petit exemple de code que vous pouvez utiliser : | Voici un petit exemple de code que vous pouvez utiliser : | ||
- | <code c millis002.ino> | + | <code c millis031.ino> |
// La broche numérique 2 est reliée à la led rouge. On lui donne le nom Ledrouge. | // La broche numérique 2 est reliée à la led rouge. On lui donne le nom Ledrouge. | ||
const int Ledrouge = 2; | const int Ledrouge = 2; | ||
Ligne 186: | Ligne 203: | ||
} | } | ||
+ | </ | ||
+ | |||
+ | ==== autre exemple ==== | ||
+ | |||
+ | <code c millisautre001.ino> | ||
+ | int ledPin = 2; | ||
+ | unsigned long previousMillis = 0; // Store the time of the last LED toggle | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(ledPin, | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | unsigned long currentMillis = millis(); // Get the current time | ||
+ | if (currentMillis - previousMillis < 500) { | ||
+ | digitalWrite(ledPin, | ||
+ | Serial.println(" | ||
+ | Serial.println(" | ||
+ | Serial.println(" | ||
+ | } else if (currentMillis - previousMillis < 1000) { | ||
+ | digitalWrite(ledPin, | ||
+ | Serial.println(" | ||
+ | Serial.println(" | ||
+ | Serial.println(" | ||
+ | } else{ | ||
+ | previousMillis = currentMillis; | ||
+ | } | ||
+ | } | ||
</ | </ |
/home/chanteri/www/fablab37110/data/attic/start/arduino/millis.1741679591.txt.gz · Dernière modification : 2025/03/11 08:53 de admin