python - 打开风扇 10 scs 长蟒蛇
问题描述
这是我打开风扇的代码我在单独的线程上运行睡眠,因为它使整个脚本睡眠
def fan_on():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
FAN_PIN = 23
GPIO.setup(FAN_PIN,GPIO.OUT)
GPIO.output(FAN_PIN,True)
t = Thread(target=sleep_fan)
t.deamon = True
t.start()
def sleep_fan():
time.sleep(10)
脚本正在运行,但是我没有得到 10 个 scs,它只有 1 或 2 秒?如何解决这个问题?TIA
解决方案
我将假设您的程序在 10 秒结束之前就死了,这就是杀死风扇的原因。in的拼写错误daemon
在t.deamon = True
这里无关紧要。
在您的主要功能中加入该线程可能更好。
def fan_on():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
FAN_PIN = 23
GPIO.setup(FAN_PIN,GPIO.OUT)
GPIO.output(FAN_PIN,True)
t = Thread(target=sleep_fan)
t.deamon = True
t.start()
return t
fan_thread = fan_on()
fan_thread.join() # waits for thread to exit before moving on.
推荐阅读
- git - Bitbucket 分支大小写敏感问题
- php - 我尝试从 db 获取数据,但在 codeigneiter 中一无所获
- html - 如何显示模型的第 n 个孩子?
- ios - 构建时出现 GMSPlaceField 错误 - Swift 5
- python - Python df.to_csv 仅打印最后一行,即使存在 for 循环
- javascript - 如何使用 javascript/jquery 删除部分 URL
- ios - 如何在 gitlab-ci 中安装 brew
- r - R json键和值
- r - 一致地按两列索引
- bash - 如何在使用 ansible playbook 将文件从本地复制到远程时保留文件的 mtime/ctime?