用树莓派和python开发一个计数程序
各位大神我现在在用树莓派和python开发一个计数程序使用的硬件有树莓派+避障传感器(常开模式,返回状态是0和1)现在我想要在状态是一直持续为0的时候计数+1一次,状态是...
各位大神
我现在在用树莓派和python开发一个计数程序
使用的硬件有树莓派+避障传感器(常开模式,返回状态是0和1)
现在我想要在状态是一直持续为0的时候计数 +1 一次,状态是1时什么都不做.
下面是我写的代码,有问题他会在状态为0的时候持续 +1
#!/usr/bin/python
#coding=UTF-8
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(17,GPIO.IN)
print "ddd", GPIO.input(17)
u = 0
while True:
if ( GPIO.input(17) == 0 ):
u += 1d
print u 展开
我现在在用树莓派和python开发一个计数程序
使用的硬件有树莓派+避障传感器(常开模式,返回状态是0和1)
现在我想要在状态是一直持续为0的时候计数 +1 一次,状态是1时什么都不做.
下面是我写的代码,有问题他会在状态为0的时候持续 +1
#!/usr/bin/python
#coding=UTF-8
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(17,GPIO.IN)
print "ddd", GPIO.input(17)
u = 0
while True:
if ( GPIO.input(17) == 0 ):
u += 1d
print u 展开
1个回答
2016-05-19
展开全部
while True:
if ( GPIO.input(17) == 0 ):
u += 1d
print u
如果输入为0,则死循环里一直执行u+1。
结果就像你看到的状态为0的时候持续 +1。
改进:
设置一个标志位b,初值为false。
在死循环中,
在IO(17)==0且b==false时,U=U+1,然后就将b=true。
在IO(17)==1时,b=false
if ( GPIO.input(17) == 0 ):
u += 1d
print u
如果输入为0,则死循环里一直执行u+1。
结果就像你看到的状态为0的时候持续 +1。
改进:
设置一个标志位b,初值为false。
在死循环中,
在IO(17)==0且b==false时,U=U+1,然后就将b=true。
在IO(17)==1时,b=false
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询