我尝试过使用pigpio库进行debounce,但没有成功
import pigpio
captureFlag=1
pi=pigpio.pi()
def ImgCap(gpio.level.ticks):
global captureFlag
if captureFlag==0:
print "OFF"
if captureFlag==1:
captureflag=0
print "call back"
for x in xrange (1000000):
x=x+1
print x
captureflag=1
def main():
calf=pi.callback(4,pigpio.RISING_EDGE,ImgCap)
while True:
pass
if __name__=='__main__'
main()
这是不成功的回调从不打印,它继续打印回拨和x值。 我做错了什么?如何正确地编写代码。 还有其他可能的方法吗
您的程序从不打印“Off”,因为在触发回调时,您要测试的变量从未设置为0。在
我建议你看看标准零售物价指数库(Raspbian内置的函数),因为它本机处理开关反弹,还允许您使用
GPIO.BOTH
在一个函数中为上升和下降沿设置回调。在见http://raspi.tv/2014/rpi-gpio-update-and-detecting-both-rising-and-falling-edges
相关问题 更多 >
编程相关推荐