我有一块 Intel aaeon 主板,我想使用它的 GPIO 引脚。为此,我尝试了以下代码:
echo 17 > /sys/class/gpio/export
但当我运行它时,我得到的结果如下:
-bash: echo: write error: Invalid argument
这可能是什么问题?我该如何解决?
输出ls /sys/class/gpio/
:
export gpiochip225 gpiochip228 gpiochip314 gpiochip341 gpiochip414 unexport
答案1
文档内容如下:
GPIO 控制器具有如下路径
/sys/class/gpio/gpiochip42/
(对于从 #42 开始实现 GPIO 的控制器)并具有以下只读属性:
/sys/class/gpio/gpiochipN/
base
N
...与该芯片管理的第一个 GPIO相同[…]
ngpio
... 它管理多少个 GPIO(N
至N+ngpio-1
)
就您而言,最低的N
是225
。没有芯片管理GPIO 17
。调用
cat /sys/class/gpio/gpiochip225/ngpio
如果你得到(例如)2
那么你可以使用两个数字:225
和226
:
# as root
echo 225 > /sys/class/gpio/export
echo 226 > /sys/class/gpio/export
(如果您想使用sudo
,这个技巧将会很有用echo 225 | sudo tee /sys/class/gpio/export
:)。
对于其他控制器(gpiochipN
条目)同样如此。
注意sysfs-gpio
已弃用。请参阅YouTube 上的这个视频。