我刚刚开始玩raspberry pi,无法理解使用GPIO.add_event_detect功能发生了什么 .

基本程序检测到GPIO16因按下按钮而下降,打印消息,休眠1秒钟然后打印另一条消息 . 我在回调期间关闭并打开event_detect,以避免交换机反弹导致额外的回调 . 然而问题是只有两个按钮按下程序崩溃?每次运行程序时都会发生这种情况 . GPIO.VERSION'0.6.2'

这是程序:

import RPi.GPIO as GPIO
from time import sleep

GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def pressButton(channel):
        GPIO.remove_event_detect(channel)
        print("Button Pressed")
        sleep(1)
        print("Button Released")
        GPIO.add_event_detect(channel, GPIO.FALLING, callback=pressButton, bouncetime=5)

GPIO.add_event_detect(16, GPIO.FALLING, callback=pressButton, bouncetime=5)

try:
    while True:
        sleep(1)
finally:
    GPIO.cleanup()

按下2个按钮后输出显示崩溃:

Python 3.4.2 (default, Oct 19 2014, 13:31:11) 
[GCC 4.9.1] on linux
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
Button Pressed
Button Released
Button Pressed
Button Released

>>> ================================ RESTART ================================
>>>

任何帮助赞赏!