Interruptions à Arduino

Interruptions à Arduino
Dans la programmation Arduino pour éviter une introduction. Ces interruptions consistent en des instructions spéciales pour l'entrave respective causée dans le fonctionnement du code. De même, les interruptions peuvent également être utilisées pour surveiller toute autre tâche à un moment précis. Ce discours explique brièvement les interruptions utilisées dans Arduino

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:

  • Lorsque l'état passera à un niveau élevé, le mode sur lequel l'interruption se déclenchera sera FAIBLE.
  • Si la broche change son état en haut de bas afin que le mode d'interruption soit HAUT.
  • Lorsque l'interruption doit être déclenchée lorsqu'il y a un changement dans l'état de la broche, soit le mode élevé ou bas CHANGEMENT sera utilisé.
  • Lorsque l'interruption doit être déclenchée lorsque l'état passe de faible à haut le EN HAUSSE le mode sera donné.
  • Lorsque l'interruption doit être déclenchée lorsque l'état passe de haut à bas CHUTE le mode sera donné pour la fonction d'interruption.

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;
const int interruptpin = 2;
Bool State = High;
void setup()
PinMode (LEDPIN, état);
pinMode (interruptpin, input_pullup);
attachinterrupt (DigitalPintoInterrup (interrupt), clignote, modifier);

VOID LOOP ()
DigitalWrite (LEDPin, État);

void blink ()
état = !État;

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.