【问题标题】:Re-Routing Raspberry Pi GPIO - Dummy Pin?重新路由 Raspberry Pi GPIO - 虚拟引脚?
【发布时间】:2013-03-26 21:34:18
【问题描述】:

我正在为 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?

【问题讨论】:

  • 好吧,我对树莓派一无所知,但一些通用的 Unix 提示可能会帮助你:a) 使用符号链接而不是实际设备; b) 在你的 shell 脚本中使用一个参数来设置端口(即给它 18,它会在你的脚本中的任何地方使用 18 c)如果它可用,使用socat
  • 感谢您的建议 - 我只使用了几个月的 linux 并且不知道正确的术语。 a)这是我无法弄清楚如何做的主要事情 b)有道理,特别是因为这是我将使用该设备的唯一目的。 c) 这可能会奏效。我会试一试,然后回复你。

标签: bash raspberry-pi gpio reroute


【解决方案1】:

我刚刚开始使用 Python 和 RPi.GPIO linux 包来玩 Raspberry Pi 及其 GPIO。我在博客上写了我的第一个简单步骤:Using Raspberry Pi GPIO Interface

有一个调用将RPi.GPIO 的模式设置为 BOARD 或 BCM,通过调用 GPIO.setmode(GPIO.BOARD) 或 GPIO.setmode(GPIO.BCM) 在两个引脚配置之间更改。如果您查看它的作用,它可能会帮助您解决问题。

【讨论】:

    猜你喜欢
    • 2015-07-15
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2020-09-01
    相关资源
    最近更新 更多