我正在为 Raspberry Pi 移植开源项目 OpenROV。(该项目是为 BeagleBone 开发的。)该端口的唯一重大挑战是将软件对 GPIO1_0(又名 GPIO32)的引用更改为在 Raspberry Pi 的标头上打开的引脚(我在想 GPIO18)。原代码如下:
#!/bin/sh
# GPIO1_0 equals equals /sys/class/gpio32 (32 + 0)
#see http://ninjablocks.com/blog/2012/1/20/setting-up-gpio-on-the-beaglebone.htm l
back_to_normal() {
sleep 1
#set GPIO1_0 to HIGH
echo "high" > /sys/class/gpio/gpio32/direction
}
reset() {
sleep 1
#prepare gpio
echo "32" > /sys/class/gpio/export
echo "out" >/sys/class/gpio/gpio32/direction
echo 7 > /sys/kernel/debug/omap_mux/gpmc_ad0
#set GPIO1_0 to low
echo "low" > /sys/class/gpio/gpio32/direction
back_to_normal
}
echo Initiating arduino reset 1>&2
reset &
当然,我可以将非常参考 32 更改为 18,但这需要在每次更新时进行额外的工作。相反,是否有某种方法可以创建一个虚拟 GPIO32,自动将命令重定向到 GPIO18?