- # coding=utf-8
- import RPi.GPIO as GPIO
- GPIO.setmode(GPIO.BOARD)
- num=0
- GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
- def callback(channel):
- global num
- num=num+1
- print "rising",num
- GPIO.add_event_detect(15, GPIO.RISING,callback, bouncetime=1000)
- while 1:
- pass
复制代码 测试代码如上,复位开关一端接引脚15,一端接引脚17(3.3V),开关按下时确实有输出。但是问题如下:
1. 不小心用金属碰到引脚15或者其他引脚时,引脚15会触发上升沿,输出 rising
2. 如果callback函数执行时间太长(如10s),那么一次按压开关动作callback会执行两次(将bouncetime增加到10s以上可以勉强解决)
会的高手帮我看看怎么解决这个问题
|