Bonjour, sur Raspberry avec un bouton poussoir en broche 16 avec le script ci-dessous: J'ai bien les prints de la routine d'interruption qui s'affichent à chaque action sur le poussoir ('interruption1', 'interruption2' et 'True') mais process_ny_callback() n'est jamais activé par la boucle while True et je n'ai donc jamais le print : 'Interruption détectée sur la broche 16'
Merci de votre aide à un débutant en python.
-------------------------------------------------------
import RPi.GPIO as GPIO
# variable globale qui sera vue dans toutes les fonctions
flag_callback = False
def init():
# configuration de la broche 16 en entree
GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# definition de l'interruption
GPIO.add_event_detect(16, GPIO.RISING, callback=my_callback, bouncetime=300)
# initialisation du flag
flag_callback = False
print(flag_callback)
def my_callback(self):
# function qui sera appelé lorsque le programme sur interrompu
print('interruption1')
flag_callback = True
print('interruption2')
print(flag_callback)
def process_ny_callback():
print("Interruption détectée sur la broche 16")
if __name__ == '__main__':
# 1- initiation de la l'interruption
init()
# 2- boucle infini = tache principale
while True:
# 3- si une interruption c'est produite alors on lance le traitement c
# adéquat
if flag_callback == True:
process_ny_callback()
Partager