无法读取gpio引脚状态

时间:2014-07-24 23:38:43

标签: python gpio

我一直试图读取覆盆子pi上输出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语句的第一行我需要两个参数,如果我提供两个参数,那么所有发生的事情就是引脚变为高电平并继续在循环上打印。我确定我必须接近,但我似乎无法得到它。在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我假设您要仔细检查您的引脚状态而不是测量它。

我遇到这样的情况:两个插件(在Kodi / XBMC下)可以控制一个引脚,然后在其中一个更改设置之前需要首先读取该引脚的状态:

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

答案 1 :(得分:0)

我猜你需要改变

GPIO.setup(4, GPIO.OUT)

GPIO.setup(4, GPIO.IN)

如果你想从中读取

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