我希望在条件满足后有 3 秒的延迟,但不会停止任何其他进程。
当我按下按钮 3 秒时,我希望返回值为 true(计时器应仅在按下按钮后启动),否则必须为 false。有什么建议如何操作吗?以下是我尝试过但不起作用的方法
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def button():
if GPIO.input(3) == GPIO.LOW:
start_time =time.time()
if (time.time() - start_time) >= 5:
return True
else:
return False
else:
return False
答案1
这是解决方案
def button():
global start_time, end_time
if GPIO.input(3) == GPIO.HIGH:
start_time = time.time()
return False
if GPIO.input(3) == GPIO.LOW:
end_time = time.time()
if (end_time - start_time) >= 3:
return True
else:
return False