1234pttk1 发表于 2016-11-17 20:06:53

RPi.GPIO库中检测开关按下问题

# 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以上可以勉强解决)
会的高手帮我看看怎么解决这个问题

页: [1]
查看完整版本: RPi.GPIO库中检测开关按下问题