Référence du Langage Arduino : Mini | Standard | Etendue | Librairies | Comparaison
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.
attachInterrupt (interruption, fonction, mode)
Aucune
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.
int pin = 13;
volatile int state = LOW; // déclartion d'une variable volatile
void setup()
{
pinMode(pin, OUTPUT);
attachInterrupt(0, blink, CHANGE); // attache l'interruption externe n°0 à la fonction blink
}
void loop()
{
digitalWrite(pin, state); // la LED reflète l'état de la variable
}
void blink() // la fonction appelée par l'interruption externe n°0
{
state = !state; // inverse l'état de la variable
}
Et aussi :
Page d'accueil de la référence Arduino en français
Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino.
Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.
La présente traduction française commentée a été réalisée par Xavier HINAULT (2010) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.