Python 忽略 time.sleep(1)
你好,我正在尝试运行一个小的Python程序,用来控制树莓派上的GPIO接口。我希望它在打开每个LED灯之前能等1秒钟,但它并不是在每个LED之间暂停,而是在最后一起暂停(它总共等了3秒钟,这个时间是所有等待时间加起来的)。这是我使用的代码:
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(True)
GPIO.setup(18,GPIO.OUT)
GPIO.setup(23,GPIO.OUT)
GPIO.setup(24,GPIO.OUT)
print"Lights"
GPIO.output(18,GPIO.HIGH)
time.sleep(1)
GPIO.output(23,GPIO.HIGH)
time.sleep(1)
GPIO.output(24,GPIO.HIGH)
time.sleep(1)
GPIO.cleanup()
2 个回答
2
最开始的延迟可能只是设置的时间。
根据这个链接 http://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/,你可以尝试
GPIO.setup(channel, GPIO.OUT, initial=GPIO.LOW)
把它们一开始设置为关闭状态。
也就是说:
GPIO.setup(18, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(23, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(24, GPIO.OUT, initial=GPIO.LOW)
5
看起来
GPIO.setup(18,GPIO.OUT)
GPIO.setup(23,GPIO.OUT)
GPIO.setup(24,GPIO.OUT)
是在打开你的LED灯,而不是
GPIO.output(24,GPIO.HIGH)
确保你把打印语句放在 GPIO.OUT
语句之间,像这样:
GPIO.setup(18,GPIO.OUT)
time.sleep(1)
GPIO.setup(23,GPIO.OUT)
time.sleep(1)
GPIO.setup(24,GPIO.OUT)