您拥有的代码不断地(在while(True)
循环中)添加事件检测回调。您要添加一次事件检测回调,然后等待边缘。
或者,您可以尝试以下操作:
import RPi.GPIO as gpio
gpio.setmode(gpio.BOARD)
gpio.setup(7, gpio.IN, pull_up_down=gpio.PUD_DOWN)
def on_pushdown(channel):
print "Button Pushed."
# only add the detection call once!
gpio.add_event_detect(7, gpio.RISING, callback=on_pushdown, bouncetime=200)
while(True):
try:
# do any other processing, while waiting for the edge detection
sleep(1) # sleep 1 sec
finally:
gpio.cleanup()