现在使用旧方法 gpio-sunxi
如何在 OrangePi PC plus ( SoC H3 ) 上访问 Armbian 3.4.113 上的 GPIO并编辑 .fex
-file 已过时(想分享这个...)
最佳答案
一般程序在 https://linux-sunxi.org/GPIO 中有所描述。
GPIO 引脚通过 sysfs
访问文件系统。要启用特定引脚,必须将其导出到 /sys/class/gpio/export
对于引脚 PA1,命令为 echo 1 > sys/class/gpio/export
.引脚数由以下公式计算:
(position of letter in alphabet - 1) * 32 + pin number
PA1 有引脚编号('A' 是第一个字母)
1
, PB2 有引脚号 34
('B' 是第二个字母),PG7 的引脚号 199
('G' 是第 7 个字母 (7-1)*32+7=199 )上的仓位物理标题再次不同,参见。下图
因此可以使用物理接头上的引脚 40 来启用 PG7
echo 199 > sys/class/gpio/export
图片来源:https://orange314.com/Hardware
通常是像
echo "199" sys/class/gpio/export
这样的 echo 命令给出 Permission denied
错误一个简单的解决方案如下:
要对 GPIO 引脚进行一次性操作,您必须启动一个
首先将 shell 作为 super 用户分开,然后使用 echo。例如到
打开引脚 A10:
$ sudo sh
# echo 10 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio10/direction
# echo 1 > /sys/class/gpio/gpio10/value
或者您可以使用 tee 来避免创建子shell:
$ echo 10 | sudo tee /sys/class/gpio/export
$ echo out | sudo tee /sys/class/gpio/gpio10/direction
$ echo 1 | sudo tee /sys/class/gpio/gpio10/value
来源:https://forum.armbian.com/index.php?/topic/4052-problem-using-gpio-pins-on-legacy-kernel/
另一种方法是创建一个新组并将/sys/class/gpio 目录的组更改为这个新组:
您可以创建一个名为 gpio 的组,将用户添加到其中,导出 gpio
等如下:
sudo groupadd gpio
sudo usermod -aG gpio <myusername>
su <myusername>
sudo chgrp gpio /sys/class/gpio/export
sudo chgrp gpio /sys/class/gpio/unexport
sudo chmod 775 /sys/class/gpio/export
sudo chmod 775 /sys/class/gpio/unexport
这使您的用户能够导出和取消导出。
导出引脚后,您也可以对它们进行 chgrp 和 chmod(不要
忘记它们的内容)并照常使用它们。
echo "18" > /sys/class/gpio/export
chgrp -HR /sys/class/gpio/gpio18
chmod -R 775 /sys/class/gpio/gpio18
现在您的用户可以访问第一个 GPIO 引脚 18。
来源:https://www.raspberrypi.org/forums/viewtopic.php?t=5185
执行
echo
时具有权限的新目录出现在 /sys/class/gpio
即对于 PA2(它是物理接头上的引脚编号 2 和编号 22),它是 /sys/class/gpio/gpio2
要配置引脚编号 2,您必须将特定值写入
/sys/class/gpio/gpio2
中的文件中例如,将引脚 2 设置为输出和“高”写入
echo "out" > /sys/class/gpio/gpio2/direction
echo "1" > /sys/class/gpio/gpio2/value
关闭 GPIO 时,引脚应该不导出,即
echo 2 > /sys/class/gpio/unexport
用于引脚 2(PA2,物理接头上的编号 22)访问 GPIO 的另一种方法是使用 python,但是对于基于 H3 的板,WiringOP 尚不可用
关于gpio - 在 Armbian 3.4.113 及更新版本上访问 OrangePI PC Plus (H3) 上的 GPIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46463724/