Go Down

Topic: Interaction bizarre delay() et noInterrupts() (Read 1 time) previous topic - next topic

supermac1

Bonjour,

J'ai une interaction bizarre dans mon code quand je déactive les interruption avec noInterrupts();  la fonction delay(); ne s'exécute plus  :(est ce normal si oui il y a t'il une alternative.

Merci pour vos retour


Luj06

#1
Jan 13, 2011, 06:29 pm Last Edit: Jan 13, 2011, 06:32 pm by julien@pobot.org Reason: 1
C'est normal : la fonction "delay" est basée sur une interruption générée par le timer 0. Si tu désactives les interruptions, on ne peut plus compter le temps qui passe.

Il faut que tu cibles uniquement les interruptions que tu souhaites arrêter. Je ne sais pas s'il y a des fonctions pour ça en Arduino, mais tu peux utiliser les interruptions du micro-contrôleur AVR présent sur la carte.

Un petit exemple de gestion d'interruptions : http://www.pobot.org/Vecteurs-d-interruption-pour-AVR.html dont le code d'exemple contient l'activation d'une interruption.

Si tu me dis quelles interruptions tu veux arrêter, j'essaierai de tester un code et de publier un didacticiel pour ton cas particulier.

supermac1

Merci pour l'info.

C'est l'interruption 0 celle de la patte 2 d'une arduino mini pro.

Go Up