【问题标题】:unable to read gpio pin status无法读取 gpio pin 状态
【发布时间】:2018-01-11 01:58:18
【问题描述】:

我一直在尝试读取树莓派上输出 gpio 引脚的当前状态,但没有成功

代码:

#!/usr/bin/python
import RPi.GPIO as GPIO
import time


GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)

GPIO.setup(4, GPIO.OUT)


while True:

    if GPIO.output(4) == True:
        print "pin is high"
    else:
        print "pin is low"

    time.sleep(0.500)

我一直收到一个错误,告诉我在 if 语句的第一行我需要两个参数,如果我提供两个参数,所有发生的事情就是引脚变为高电平并继续在循环上打印。我确定我必须接近但我似乎无法得到它。提前感谢您的帮助!

【问题讨论】:

    标签: python gpio


    【解决方案1】:

    我假设你想仔细检查你的 pin 的状态而不是测量它。

    我的情况是,两个插件(在 Kodi/XBMC 下)可以控制一个引脚,并且在其中一个更改设置之前,它需要先读取该引脚的状态:

    if GPIO.input(17) is 1:
        line2 = 'The pin is high'
    else:
        line2 = 'The pin is low'
    

    【讨论】:

      【解决方案2】:

      我猜你需要改变

      GPIO.setup(4, GPIO.OUT)
      

      GPIO.setup(4, GPIO.IN)
      

      如果你想从中阅读

      GPIO 引脚不是双工的(它们可以读取或写入但不能同时读取)...您必须将其显式更改为写入模式以写入和读取模式以读取...

      【讨论】:

      • 这是有道理的..在这种情况下,我将只分叉物理连接,将一条腿发送到它最初连接的设备,并将另一条腿发送到输入引脚并以这种方式读取引脚状态.感谢您的快速回答!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      相关资源
      最近更新 更多