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:52] – [3. Exemples 3.1 Définir différents 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 110: | Ligne 127: | ||
| 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 millis032.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. | ||
| 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.1741679565.txt.gz · Dernière modification : de admin
