Comment utiliser Attachinterrupt en fonction de son état

Bonjour à tous,

J'utilise pour la premiere fois Attachinterrupt et ca semble fonctionner, mais....

J'utilise ceci:

attachInterrupt(interrupt, onIncomingCall, FALLING);

La fonction onIncomingCall() est bien appelée l'interrupt 0 passe du niveau HIGH à LOW.

Ceci se produit, quand mon GSM recoit un appel, ma pin RI passe de HIGH à LOW.

C'est super, mais j'aimerais avoir une autre action quand l'appelant raccroche la ligne et que le RI passe de LOW à HIGH.

Je devrais faire alors ceci

attachInterrupt(interrupt, onOutcomingCall, RAISING);

mais ex-ce que je peux mettre deux attache pour le meme interrupt??????

attachInterrupt(interrupt, onOutcomingCall, RAISING);
attachInterrupt(interrupt, onIncomingCall, FALLING);

J'ai aussi vu qu'il y a l'option

attachInterrupt(interrupt, onIncomingCall, CHANGE);

mais j'aimerais définir une action différente en fonction de l'état.

Je vous remercie pour vos lumières

Bonjour,

Tu utilises CHANGE et tu testes l'état de ton entrée au début de ton programme d'interruption.

Hello
Merci pour ta réponse, mais comment je fais pour controler l’état,
es-ce que je le fais comment ceci

if(digitalRead(PIN_RI)) // PAsse a 0 quand il recoit un appel
    {
      //digitalWrite(PIN_LED1,LOW);
    }
    else
    {

    }

ou es-ce qu’il y a une methode particulière au interrupt?

Merci pour ta réponse

Oui, c'est ça

if(digitalRead(PIN_RI)) // PAsse a 0 quand il recoit un appel
{
 // raccroche
}
else
{
 // reçoit l'appel
}

D'accord merci beaucoup