首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反转GPIO输入

反转GPIO输入
EN

Stack Overflow用户
提问于 2019-01-30 19:12:49
回答 1查看 284关注 0票数 0

这是我的代码开始我的其他代码,我定义了我的激光开始。但在这段代码中,我想有一个按钮,启动我的另一个脚本,如果我把它按下。但这段代码的作用是连续地激活我的代码。我可以在其中更改什么?

代码语言:javascript
复制
#!/usr/bin/env python

import RPi.GPIO as GPIO
import time
import os
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
#GPIO.setmode(GPIO.BOARD)
GPIO.setup(15,GPIO.IN) #GPIO17

#input = GPIO.input(27)
#print ("input",input)

while True :
    #inputValue = GPIO.input(11)
    #print ("input01",inputValue)
    #time.sleep(1)
    erg= GPIO.wait_for_edge(15,GPIO.RISING, bouncetime=20)
    print ("Input",2)
    #if (GPIO.input(11) == GPIO.HIGH):
    #if erg==15:
    print ("Input",1)
    time.sleep(3)
    #inputValue = 1
    os.system("python /home/pi/gpio.py")
EN

回答 1

Stack Overflow用户

发布于 2019-01-30 19:47:33

当您运行os.system('python /home/pi/gpio.py')时,您将启动新的进程,并且您的主进程将返回到其while循环。

据我所知,您的想法是等待按钮被按下,然后转到其他状态,等待新的事情发生。您不需要启动新进程,只需导入模块(doc)即可。当单击按钮时,中断循环并运行导入模块中的代码。

此外,您可能会发现用event_detected方法替换wait_for_edge是一件有趣的事情。更多信息,here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54439269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档