start:arduino:giga:interruptions
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| start:arduino:giga:interruptions [2025/03/22 22:07] – créée admin | start:arduino:giga:interruptions [2025/03/22 22:47] (Version actuelle) – [Les interruptions avec arduino] admin | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| [[https:// | [[https:// | ||
| + | |||
| + | **Une interruption** est un déclenchement qui arrête l’exécution d’un programme ou d’un bout de code pour exécuter une autre fonction. | ||
| + | C’est typiquement le cas lorsque l’on programme un chronomètre. Le temps s’écoule jusqu’au moment où on décide de stopper le chronomètre afin de lire la valeur inscrite sur l’écran. | ||
| + | Une interruption permet ainsi de stopper ou d’effectuer un programme puis d’en reprendre l’exécution à partir de l’instant où il a été stoppé. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | |||
| + | ====Interruptions==== | ||
| + | |||
| + | Si vous créez un projet qui repose fortement sur des données de capteurs précises et que vous devez donc vous assurer de lire et d' | ||
| + | |||
| + | Cette fonctionnalité peut s' | ||
| + | |||
| + | < | ||
| + | |||
| + | La syntaxe de création d'une fonction d' | ||
| + | |||
| + | **void setup()** | ||
| + | |||
| + | et est comme suit : | ||
| + | |||
| + | **attachInterrupt(digitalPinToInterrupt(pin), | ||
| + | |||
| + | *pin | ||
| + | |||
| + | *représente le numéro de broche de la broche à laquelle votre capteur d' | ||
| + | |||
| + | *ISR (**I**nterrupt **S**ervice **R**outine en anglais) | ||
| + | |||
| + | *est la fonction qui est appelée chaque fois que l' | ||
| + | |||
| + | *mode | ||
| + | |||
| + | *définit quand l' | ||
| + | |||
| + | Les différents modes utilisables sont : | ||
| + | |||
| + | *LOW | ||
| + | |||
| + | *déclenche l' | ||
| + | |||
| + | *CHANGE | ||
| + | |||
| + | *se déclenche chaque fois que la broche change de valeur. | ||
| + | |||
| + | *RISING | ||
| + | |||
| + | *se déclenche lorsque la broche passe de bas à haut. | ||
| + | |||
| + | *FALLING | ||
| + | |||
| + | *se déclenche lorsque la broche passe de haut en bas. | ||
| + | |||
| + | Cet exemple de croquis allumera ou éteindra une LED connectée à la broche 13 chaque fois qu'un bouton-poussoir connecté à la broche 2 est enfoncé ou relâché : | ||
| + | |||
| + | |||
| + | <code c interuption.ino> | ||
| + | const byte ledPin = 13; | ||
| + | |||
| + | const byte interruptPin = 2; | ||
| + | |||
| + | volatile byte state = LOW; | ||
| + | |||
| + | |||
| + | void setup() { | ||
| + | |||
| + | pinMode(ledPin, | ||
| + | |||
| + | pinMode(interruptPin, | ||
| + | |||
| + | attachInterrupt(digitalPinToInterrupt(interruptPin), | ||
| + | |||
| + | } | ||
| + | |||
| + | |||
| + | void loop() { | ||
| + | |||
| + | digitalWrite(ledPin, | ||
| + | |||
| + | } | ||
| + | |||
| + | |||
| + | void blink() { | ||
| + | |||
| + | state = !state; | ||
| + | |||
| + | } | ||
| + | |||
| + | </ | ||
/home/chanteri/www/fablab37110/data/attic/start/arduino/giga/interruptions.1742677656.txt.gz · Dernière modification : de admin
