Ich lese einige GPIO-Interrupt-Dokumentation im Internet wie this und es gibt eine Frage für mich: Benötigt GPIO.add_event_detect(<PIN>, <GPIO.EDGE>, callback=<some callback function>, bouncetime=<int>)
in einem Python-Skript, um eine while true
Schleife im selben Skript zu haben, um dieses Skript "endlos" zu laufen Rückrufroutine?Raspberry Pi3 - Python3: Benötigt GPIO.add_event_detect eine "while true" Schleife?
Machen wir es klarer. Mein Skript soll wie folgt aussehen:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(6, GPIO.OUT)
def my_interrupt_routine(channel):
#do something here
GPIO.add_event_detect(6, GPIO.FALLING, callback=my_interrupt_routine, bouncetime=200)
try:
while True:
pass
except KeyboardInterrupt:
#do something here
finally:
GPIO.cleanup()
Also mit diesem Skript - ist es notwendig, die while true:
Schleife zu haben, die Interrupt-Handler für die falling EDG auf Pin6 warten lassen oder kann ich aktiviere nur den Handler und das Programm beenden ? Ich frage das, weil ich viele Artikel über den Vorteil der Verwendung von Interrupt-Handler im Vergleich zum Abrufen des GPIO-Pin gelesen habe. Und diese while true:
Schleife sieht mir ziemlich ähnlich wie das Umfragen auf Pins.
Ich habe früher in Java entwickelt. Dort definieren Sie den Interrupt-Handler/Listener und irgendwo am anderen Ende der Welt können Sie dann das Ereignis behandeln. Ich nehme an, das wird in Python nicht funktionieren, oder?