Que sont les interruptions
Pour comprendre le concept d'interruptions, nous pouvons prendre un scénario d'un accident de voiture. Supposons que la voiture se déplace sur l'autoroute et que l'électronique de la voiture est surveillée en continu par le microcontrôleur comme mesurer la vitesse de la voiture et la température de la cabine et des trucs comme ça. Soudain, la voiture frappe quelque chose, puis l'ordinateur de voiture arrête tout et exécute l'ouverture de coussins gonflables. Donc, ici dans cet exemple, l'accident est une interruption et l'ouverture de l'airbag est l'instruction donnée si cette interruption se produit. Ainsi, après avoir ouvert les airbags, l'ordinateur continuera à remplir ses fonctions de routine.
Interruptions à Arduino
Dans la programmation Arduino pour gérer l'interruption, une fonction appelée routine de service d'interruption est utilisée. Cette fonction est appelée lorsque l'interruption est déclenchée car cette fonction transporte l'instruction pour exécuter lorsqu'une interruption est déclenchée. Les interruptions peuvent être basées sur des logiciels ou en fonction du matériel, principalement les interruptions dans Arduino sont basées sur le matériel.
Interruptions matérielles: Lorsqu'une effraction est causée dans le flux d'un programme Arduino par l'un des dispositifs d'entrée interfacés avec Arduno est appelé l'interruption matérielle.
Interruptions logicielles: Lorsque le flux du programme Arduino est perturbé en raison de l'ordinateur ou de certains logiciels, ces types d'interruptions sont appelées interruptions logicielles.
Pour les interruptions basées sur le matériel, deux broches pour la carte Arduino Uno sont utilisées, c'est-à-dire les broches numéro 2 et 3 et ces broches varient pour chaque carte.
La fonction utilisée pour déclarer l'interruption est le fixerterrupt () fonction. Cette fonction a trois arguments: le premier est la broche d'interruption, la deuxième est la routine de service d'interruption (ISR) et le dernier est l'état sur lequel l'interruption se produira. De même, pour déclarer la broche d'interruption pour l'Arduino DigitalPintOinterrup () La fonction est utilisée. La syntaxe de la fonction de connexion attachée est donnée comme suit:
fixerterrupt (DigitalPintoInterrup (PIN), ISR, mode);Il existe cinq modes utilisés pour définir l'état d'interruption qui sont les suivants:
Exemple
Pour donner une image claire des interruptions d'Arduino, un exemple d'interruption est illustré. Dans cet exemple, le changement de l'état de haut à bas de la LED est pris en tant que déclencheur de l'interruption et le code de déclenchement d'une interruption est donné:
const int ledpin = 12;Schéma
Conclusion
Les interruptions d'Arduino sont utilisées pour gérer les introductions par effraction attendues dans le flux du code. Les interruptions peuvent également être utilisées pour effectuer une tâche de priorité plus élevée à un moment précis en brisant le flux de travail du programme Arduino. Une fois l'interruption gérée, le programme effectuera les tâches normales qu'elle effectuait. Dans cet article, quelles sont les interruptions et comment elles sont utilisées dans Arduino sont discutées brièvement.