Raspberry pi 简单的覆盆子皮2 GPIO做';行不通

Raspberry pi 简单的覆盆子皮2 GPIO做';行不通,raspberry-pi,Raspberry Pi,我正试图用以下代码在我的Raspberry Pi 2上使用RPi.GPIO创建一个简单的按钮脚本 import RPi.GPIO as GPIO import time import os GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(25, GPIO.IN, pull_up_down = GPIO.PUD_UP) while True: input_state=GPIO.input(25) if input_

我正试图用以下代码在我的Raspberry Pi 2上使用RPi.GPIO创建一个简单的按钮脚本

import RPi.GPIO as GPIO
import time
import os

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.IN, pull_up_down = GPIO.PUD_UP)

while True:

  input_state=GPIO.input(25)
  if input_state==False:
    print("Open")
    time.sleep(0.1)

  GPIO.cleanup()

但是,上面的代码似乎不起作用。我做错了什么?

您的问题来自while循环中的
GPIO.cleanup()

你必须把它移到圈外

否则,如果您在每次迭代中执行它,它将删除pin配置,您的scrip将无法正常工作

另外,您可能会对GPIO感兴趣。等待只在检测到边缘(下降或上升)时触发的边缘

示例代码:

while True:
    GPIO.wait_for_edge(25, GPIO.RISING)
    print('Button 1 Pressed')
    GPIO.wait_for_edge(25, GPIO.FALLING)
    print('Button 1 Released')
GPIO.cleanup()         

脚本是否给出错误?还是它一直在说“打开”?欢迎来到StackOverflow!我对你的问题进行了编辑,以准确显示你在做什么,并对代码进行了重新格式化,使其不会有多余的缩进。但是,您应该进一步编辑您的问题。一个好的问题会有一个问题(检查,我们有),具体的代码(检查,我们也有),程序的输出(仍然缺少)和预期的输出(仍然缺少)。“不起作用”太含糊了;描述程序的功能和预期功能。最后(在while循环之外)必须使用
GPIO.cleanup()
。否则,它将清除引脚配置,并且将无法工作。