Controler la valeur de sortie d'une interruption

Bonjour à tous et à toutes,

Je reviens encore pour un nouveau problème qui commence à m'embêter.

J'utilise cette interruption :

attachInterrupt(2, arret,FALLING);
void arret(){
   Bf_bar = 1;         // Bf_bar : variable globale initialisée à 0
   tmp_f=millis();     // tmp_f : variable globale 
}

Est-il possible d'avoir toujours le même état à la sortie d'une interruption ?

Je m'explique, j'aimerai que suite à l'interruption, Bf_bar vaille toujours 1 et non 0 ou 1.

Voici le contexte : J'ai un programme qui se lance lorsque j'appuie et maintient un bouton, si on lache

le bouton on fait appel à l'interruption "arret" qui change l'état de Bf_bar et le programme fait autre chose si Bf_bar vaut 1.

Le problème est que Bf_bar ne vaut pas tout le temps 1 lorsque mon bouton est relaché mais tantôt 1 tantôt 0.

Y'a t-il possibilité de le forcer toujours à 1 ?

Je vous remercie

En l'état après l'interruption Bf_bar doit toujours valoir 1.
Maintenant, dans la déclaration de Bf_bar en global as-tu en plus déclaré la variable volatile.
La déclaration d'une variable comme étant volatile interdit l'optimisation dans l'utilisation de celle-ci et en particulier force la relecture de sa valeur en RAM à chaque utilisation.

fdufnews:
En l'état après l'interruption Bf_bar doit toujours valoir 1.
Maintenant, dans la déclaration de Bf_bar en global as-tu en plus déclaré la variable volatile.

Oui elle est volatile. C'est peut-être cela le problème ?