我想在启动时检查GPIO引脚的状态,一个porgram。例如,我有另一个改变引脚状态的程序(如果低变为hihg,如果高变为低)。而现在我想写程序将读取当前状态的引脚。但是当我这样做的时候:
import RPi.GPIO as GP
GP.setmode(GP.BOARD)
NRpin=40
GP.setup(NRpin,GP.OUT) #now GPIO state is set to default (0)
当我在做的时候
GP.setup(NRpin,GP.OUT)
当前状态正在替换默认状态(低)。
问题是:如果有办法检查当前状态吗?
我知道我可以这样做:
import RPi.GPIO as GP
import subprocess as sub
a=sub.check_output(['sudo', 'gpio', '-g','read','21'])
print a
但是如果我没有在Raspbeery Pi上安装wirespi怎么办? (gpio命令在wiringpi包中)。
我想它看起来像:
if GP.output(NRpin,1)==True:
print "HI"
elif GP.output(NRpin,0)==True:
print "LO"
但没有:
GP.setup(NRpin,GP.OUT)
我无法使用该代码。
给我一些建议,prease:)
答案 0 :(得分:0)
使用功能GPIO.gpio_function(pin)
,您可以确定是否将引脚设置为INPUT或OUTPUT。
要检查INPUT是HIGH还是LOW,可以使用if(GPIO.input(channel)==GPIO.LOW))
或if(GPIO.input(channel)==GPIO.HIGH))