树莓派论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2023|回复: 0
收起左侧

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

[复制链接]
发表于 2016-11-17 20:06:53 | 显示全部楼层 |阅读模式
  1. # coding=utf-8
  2. import RPi.GPIO as GPIO
  3.   GPIO.setmode(GPIO.BOARD)
  4.   num=0
  5.   GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
  6.   def callback(channel):
  7.       global num
  8.       num=num+1
  9.      print "rising",num

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|树莓派论坛 ( 粤ICP备15075382号-1  

GMT+8, 2024-11-25 15:53 , Processed in 1.125000 second(s), 25 queries , Gzip On.

Powered by Shumeipai.net! X3.2

© 2001-2015 树莓派论坛安全联盟

快速回复 返回顶部 返回列表