【问题标题】:Toggling multiple GPIOS using from linux userspace从 linux 用户空间切换多个 GPIOS
【发布时间】:2017-01-23 09:59:42
【问题描述】:
我正在通过嵌入式 linux 编写应用程序。
我有两个 LED,可以使用两个不同的 GPIO 引脚打开和关闭。
我想通过同时设置两个 GPIO 引脚来同步它们。
这是可行的,因为 GPIO HW 有一个用于输出值的寄存器,并且每个位
代表一个引脚。
但是我没有设法在不绕过内核驱动程序并写入该寄存器的情况下找到一种方法。这不是一种健康的方法,我想使用用户空间 API 来做同样的事情。
有没有办法导出多个引脚并以某种方式“绑定”它们?
【问题讨论】:
-
您应该编写自己的驱动程序来这样做...顺便说一句,这似乎是XY problem:使用简单的文件系统导出文件设置 2 个 GPIO 的延迟是多少?
标签:
linux
embedded
gpio
userspace
【解决方案1】:
您可以编写一个 shell 脚本来同步 GPIO。下面是我如何从 shell 切换 GPIO(比如 #13)的示例:-
echo 13 > export
root@apq8017:/sys/devices/virtual/gpio/gpio13# ls
active_low direction power subsystem uevent value
root@apq8017:/sys/devices/virtual/gpio/gpio13# cat direction value
out
1
root@apq8017:/sys/devices/virtual/gpio/gpio13# echo out > direction
root@apq8017:/sys/devices/virtual/gpio/gpio13# echo 0 > value
root@apq8017:/sys/devices/virtual/gpio/gpio13# cat direction value
out
0
root@apq8017:/sys/devices/virtual/gpio/gpio13#