问题是,变量t1
在循环内,但我不能在外面使用它(因为它没有定义);所以程序返回"UnboundLocalError: local variable 't1' referenced before assignment"。我不知道测量这两个事件之间时间的其他方法,每次第一次开始时(用下面的代码自我解释)。
if status in STATUSON:
t1 = 0
GPIO.output(17,GPIO.HIGH)
time.sleep(0.5)
GPIO.output(17,GPIO.LOW)
return statement('Ok')
t1 = time.time()
elif status in STATUSOFF and time.time() - t1 >= 5:
GPIO.output(17,GPIO.HIGH)
time.sleep(0.5)
GPIO.output(17,GPIO.LOW)
return statement('Ok')
elif status in STATUSOFF and time.time() - t1 <= 5:
GPIO.output(17,GPIO.HIGH)
time.sleep(0.5)
GPIO.output(17,GPIO.LOW)
time.sleep(2)
GPIO.output(17,GPIO.HIGH)
time.sleep(0.5)
GPIO.output(17,GPIO.LOW)
return statement('Ok')