attachInterrupt (interruption, fonction, mode)
Description
Spécifie la fonction à appeler lorsqu'une interruption externe survient. Remplace tout autre fonction qui était attaché à cette interruption. La plupart des cartes Arduino ont deux interruptions externes : interruption externe n°0 sur la broche numérique 2 et interruption externe n°1 sur la broche numérique 3. La carte Arduino Mega en possède quatre de plus : interruption externe n°2 sur la broche 21, n°3 sur la broche 20, n°4 sur la broche 19 et n°5 sur la broche 18.
Syntaxe
Paramètres
- interruption: le numéro de l'interruption (type int)
- fonction: la fonction à appeler quand l'interruption survient; la fonction doit recevoir aucun paramètres et ne renvoie rien. Cette fonction est également appelée une routine de service d'interruption (ou ISR).
- mode: définit la façon dont l'interruption externe doit être prise en compte. Quatre constantes ont des valeurs prédéfinies valables :
- LOW: pour déclenchement de l'interruption lorsque la broche est au niveau BAS
- CHANGE: pour déclenchement de l'interruption lorsque la broche change d'état BAS/HAUT
- RISING: pour déclenchement de l'interruption lorsque la broche passe de l'état BAS vers HAUT (front montant)
- FALLING: pour déclenchement de l'interruption lorsque la broche passe de l'état HAUT vers l'état BAS (front descendant)
Valeurs Renvoyées
- Aucune
Exemple
※ Remarque:
- Vous devrez déclarer en tant que volatile toute les variables que vous modifier à l'intérieur de la fonction attachée à l'interruption.
- Utiliser les interruptions
- Les interruptions sont très utiles pour faire des choses de façon automatique dans un programme pour microcontrôleur, et peut aider à résoudre les problème de temporisation. Une bonne utilisation pour une interruption peut-être la lecture d'un encodeur tournant, pour contrôler les entrées de l'utilisateur.
- Si vous voulez que le programme prennent toujours en compte les impulsions venant d'un encodeur tournant, sans jamais négliger une impulsion, il serait très compliqué d'écrire un programme pour faire quoique ce soit, parce que le programme devrait en permanence examiner les broches connectées à l'encodeur, afin de prendre en compte les impulsions lorsqu'elle surviendront. D'autres capteurs ont un rôle d'interface dynamique semblable, tel qu'un capteur de sons essayant détecter un bruit ou un capteur infra-rouge (photo-transistor) essayant de détecter un obstacle. Dans toutes ces situations, l'utilisation des interruptions libère le microcontrôleur pour faire d'autres choses tant que l'évènement attendu ne survient pas.
※ ARDUINO BUY RECOMMENDATION
Arduino UNO R3 | |
Arduino Starter Kit |