问题标签 [gpio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
523 浏览

c - 设备驱动程序:如何以编程方式访问实际的引脚/硬件?

如果您认为这个问题的构造不正确,请查看其原始版本。我被要求将这个问题简化为最小形式。

如果我正在编写 Linux 设备驱动程序,如何以编程方式访问实际的 GPIO 引脚?例如:

同样,如果这不清楚,那是因为我试图遵守社区规则以使其保持简单、愚蠢。在这种情况下,请阅读我的这个问题的第一个版本。

0 投票
2 回答
2883 浏览

embedded-linux - GPIO pins will not toggle (high/low) on beagleboard xm

I am trying to use the expansion header to control a couple motors and auxiliary task mechanism. For this I am using the appropriate pins as GPIO and merely attempting to send high or low signals as needed by the robot. (For instance, I might need the robot to move forward and so I'd send high signals on both sets of pins, whereas if I needed the robot to turn I'd send a high signal to one pin and a low to the other.)

However, the problem is that the pins will only stay high! I've followed the conventions for sysfs just via the terminal, and, although I'm able to set the "values", "active_lows", etc. to 0 or 1, I can't actually get the pins to send 0V. After checking the beagle.h file I used for u-boot it looks like the multiplexer mode is configured correctly. This is also reflected when I get the info from sys/class/gpio/gpio%/% and sys/kernel/debug/gpio. Furthermore I don't get any errors or indication from anywhere that there is something wrong...it just doesn't work!

What should I do? For the first time in my life I have seemingly exhausted the internet...

details: Beagleboard xm rev c1 ubuntu 12.04 kernel 3.6.8-x4

0 投票
1 回答
1434 浏览

linux - gpio_request 如何在 Linux 上将 GPIO 编号处理为虚拟内存地址?

有个问题是gpio_request需要一个GPIO号,但是在内核中它需要一个地址来处理gpio,Linux是如何实现的呢?

始终在芯片规范中,例如 MSM8x60 或任何 SOC 芯片规范,都有一个内存映射显示哪个内存区域用于 GPIO。但是在内核驱动中,我们使用gpio number来访问gpio。

我的问题是:1,芯片规格的内存映射中的内存地址是物理地址吗?2、在内核中,它使用虚拟地址,内核如何将一个gpio号转换为虚拟地址?

谢谢!

亲切的问候比尔王

0 投票
1 回答
2175 浏览

python - 使用 tkinter GUI 显示最新的输入信号

蟒蛇2.7

我正在使用树莓派来监控一些数字输入信号作为一个爱好项目。我想要一个大显示屏来显示累积值并使用全局变量更新它们,这些变量将跟踪输入信号。我现在要在面包板上使用按钮,所以我尝试使用一个保持变量来防止计数器在每个周期递增。我对 Python 很陌生,因为我确信这很明显,所以请尽可能保持简单。我正在调用一个输入PE_MATTRESSES,另一个PE_COMBINED,另一个RESET,我想显示PE_MATTRESSES从中减去的第三个值PE_COMBINED。当然RESET会把一切归零..

我的伪代码虽然过程是:

  • 建立 I/O 和全局变量
  • 创建图形用户界面
  • while 1
    -- 查看 I/O
    -- 更新全局变量
    -- 更新标签以显示它们
    -- 循环

我的代码如下:

0 投票
4 回答
11174 浏览

pip - Raspberry Pi - Python 中的 GPIO

我正在尝试让我的 Raspberry Pi 的 GPIO 引脚正常工作,并且我正在关注教程:如何像 Arduino 一样使用您的 Raspberry Pi

(我正在通过运行 Raspbian 的 SSH 工作。)我已经成功安装了分发。

尝试安装 PIP 时,我收到如下所示的错误。

我该如何解决?

0 投票
1 回答
3110 浏览

c - Cortex m3:致命错误:inc/hw_ints.h:没有这样的文件或目录

我正在使用 Cortex M3、Stellaris® LM3S6965 评估板。如果我按下一个按钮,我正在尝试打开一个 LED。但是在构建时它总是给我一个错误。

在程序中,我基本上检查按钮的状态,然后启用 LED。我是新手,我尝试搜索,但我真的找不到有用的东西。

非常感谢

我现在的程序

我在构建时遇到的错误。

0 投票
1 回答
2697 浏览

ruby - 带选择的 GPIO 监控

我正在尝试监视 GPIO 引脚,并且根据 Linux 文档,我应该能够通过使用以下命令监视/sys/class/gpio/gpio##/value文件来做到这一点select

我正在尝试在 Ruby 中执行此操作,并且根据它调用的IO.Select 文档select(2)

因此,有了这些知识,我将以下测试程序放在一起:

但是,它不会检测到任何引脚更改。当我启动这个应用程序时,它会立即落入if块中并显示引脚的当前值,然后每 5 秒打印一次timeout

我读错了文档吗?应该不能select监控吧?

0 投票
2 回答
4019 浏览

bash - 覆盆子的 GPIO 命令无法通过 crontab 工作

我有一个树莓派。我已经通过命令行在板上安装了 WiringPi 用于引导 GPIO。

我已经完成了一个名为 aggiornaora.sh 的脚本

如果我尝试直接通过sh aggiornaora.sh. 但是当 cron 运行脚本时,它只执行第二个操作。都具有root权限。我已经通过“gpio readall”检查了这个问题。

在您看来,可能是什么问题?

0 投票
2 回答
396 浏览

c - 如何将标准输出重定向到子进程的标准输入?

自从我使用 C 以来已经很久了,所以我为这个简单的问题道歉。

我正在 armeabi-v7a 设备上使用 GPIO。我需要从 android 应用程序中将 GPIO 接口导出到用户空间,并且我正在尝试从 JNI 库中这样做。

要从终端执行此操作,我只需运行echo 199 > /sys/class/gpio/export

但我需要从 JNI 做它:(

我当前的尝试看起来像这样(带有一些错误处理),但不起作用:

然后我意识到导出实际上是二进制文件,而不仅仅是一个文件,而且我忘记了如何生成新进程并向它们发送输入等等。有人可以刷新我的记忆吗?谢谢!

0 投票
0 回答
587 浏览

node.js - 在 Node.JS 中为 GPIO 接口设置 onChange 事件

我在 Raspberry Pi 上安装了 Node.JS,并安装了pi-gpio,让我可以访问 gpio 端口。我可以读写,但考虑到 node.js 的事件驱动性质,是否可以设置它,以便当 GPIO 输入更改并变为高电平或低电平或两者(取决于设置)时,事件是被解雇?