如何将树莓派GPIO输出设置为高阻抗?

问题描述

我正在使用RPi.GPIO RaspBerry Pi GPIO库。

我知道如何将输出设置为高电平或低电平,但是我需要将其设置为高阻抗。

GPIO.output(PIN,GPIO.HIGH)  # or GPIO.LOW

是否可以将输出设置为“高阻抗”,例如:

GPIO.output(PIN,GPIO.FLOAT)

这样输出是浮动的并且仅受周围电路的约束吗? (例如MOS或BJT的漏极或集电极)?

一种可能的方法是将引脚模式切换为输入,并将上拉/下拉电阻设置为不上拉或下拉,这是唯一的方法,还是有更好的解决方案?

解决方法

将引脚设置为输入并禁用上拉/下拉电阻似乎是可行的方法。您必须定义一个接受函数,该函数接受低,高和浮点作为参数。

浮动:

GPIO.setup(port_or_pin,GPIO.IN,pull_up_down=GPIO.PUD_OFF)

低:

GPIO.setup(port_or_pin,GPIO.OUT)
GPIO.output(self.reset_pin,GPIO.LOW)

高:

GPIO.setup(port_or_pin,GPIO.HIGH)