Interruptions UNO et MEGA

Bonjour,

Problème d'interruptions

Les broches 2 et 3 utilisées pour les interruptions 0 et 1 fonctionnent bien avec les cartes UNO et MEGA, et ça marche.
Mais sur la carte MEGA , les broches de 18 à 21 pour pour les interruptions de 2 à 5 (ou de 5 à 2)ne fonctionnent pas.
La littérature indique selon les auteurs, pour les interruptions de 2 à 5, soit les broches de 18 à 21, soit de 21 à 18.
Comment utiliser la carte MEGA pour des interruptions qui ne seraient pas sur les broches 2 ou 3 ?
Je n'y arrive pas.

Merci si vous pouvez m'aider.
Cordialement.

Bonjour,

Ton problème est peut-être là : ?
L'IDE Arduino n'utilise pas la même numérotation des interruptions qu'ATMEL
Dans la commande attachInterrupt(number, function, mode)
number ne correspond pas au n° interruption INTx sauf pour la carte UNO.

number 2 --> pin21 --> INT0 --> vecteur d'interruption n°2
number 3 --> pin20 --> INT1 --> vecteur d'interruption n°3
number 4 --> pin19 --> INT2 --> vecteur d'interruption n°4
number 5 --> pin18 --> INT3 --> vecteur d'interruption n°5

1 Like

Bonjour,

Avec l'instruction "digitalPinToInterrupt(x)" , je constate (sauf erreur) qu'il faut mettre pour interruptPin le vrai numéro de la broche, soit 2 ou 3, au lieu de 0 ou 1.
Qui peut me le confirmer ?
Merci.

Bonjour,

Tu dois mettre le numéro de pin qui est sérigraphié sur la carte.
Par exemple:

  attachInterrupt(digitalPinToInterrupt(18), interrupt, FALLING);

Verifie bien que tu as sélectionné la carte Arduino mega 2560 dans l'ide arduino

1 Like

Merci gerylko,

Mais pour broche 18, ce n'est pas INT3 mais INT5 et ça marche.
C'est quand même un peu confus !

Bonjour

Tu as la référence ici: https://www.arduino.cc/en/Main/ArduinoBoardMega2560

Je cite (les premiers numéros sont ceux des broches de l'Arduino): "External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (interrupt 2)"

1 Like