BeagleBone Black:P8_5 停留在 HIGH

BeagleBone Black: P8_5 is stuck at HIGH

我可以控制P8_3,P8_4,但是P8_5一直卡在3V3。

我已使用此配置启动 BB 以禁用 HDMI:

# cat /proc/cmdline
optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

然后我开启了GPIO 34+38+39 (P8_{5,3,4}):

# echo 34 > /sys/class/gpio/export
# echo 38 > /sys/class/gpio/export
# echo 39 > /sys/class/gpio/export

并将它们设置为输出:

# echo out > /sys/class/gpio/gpio34/direction
# echo out > /sys/class/gpio/gpio38/direction
# echo out > /sys/class/gpio/gpio39/direction

然后我将它们设置为在 HIGH/LOW 和 1Hz 之间交替,使用这样编写的脚本:

# value is 0/1, pin is 34/38/39
# echo $value > /sys/class/gpio/gpio$pin/value

我测量P8_{3,4}在0V和3V3之间交替,但是P8_5卡在3V3。

我已经尝试从 here 编译 gpio-P8.5 的 devicetree 覆盖并添加它,但结果相同。

我知道 HDMI 使用了这些引脚,但我认为我已经使用该内核命令行禁用了 HDMI,而且我理想情况下需要使用那些特定的引脚,因为我正在连接BBB 到.

使用我的 SD 图像的同事在 BB 绿色(我认为它没有 HDMI)上也有同样的问题。

似乎 BBB 提供的设备树文件试图配置 GPIO#2 而不是 GPIO#34(gpio0_2 而不是 gpio1_2)。

我用 this 为 P8_5 (gpio1_2 / gpio34) 生成了一个新的设备树覆盖,现在一切正常。