使用 sysfs 的 Linux 用户空间 GPIO 中断

发布于 2024-12-24 01:11:24 字数 814 浏览 3 评论 0原文

我想使用 sysfs 在用户空间上使用 GPIO 中断。 我使用这些命令:

[root@at91]:gpio109 > echo 109 > export
[root@at91]:gpio109 > cd gpio109/
[root@at91]:gpio109 > ll
-rw-r--r--    1 root     0            4096 Jan  1 00:17 direction
drwxr-xr-x    2 root     0               0 Jan  1 00:17 power
lrwxrwxrwx    1 root     0               0 Jan  1 00:17 subsystem -> ../../gpio
-rw-r--r--    1 root     0            4096 Jan  1 00:17 uevent
-rw-r--r--    1 root     0            4096 Jan  1 00:17 value

gpio 工作良好,但我无法使用中断。 我到处都读到我必须有一个边缘文件来轮询该文件。但在我的系统上这个文件不存在。 我做了很多尝试来寻找解决方案,但仍然没有成功。

我的目标是 Linux 内核 2.6.30 上的 AT91SAM9263。

在我的主板启动时,我收到了有关中断的消息:

AT91: 160 gpio irqs in 5 banks

这表明函数 at91_gpio_irq_setup() 执行良好。

你有什么想法吗?

I would like to use interrupts with GPIO on userspace using sysfs.
I use these commands :

[root@at91]:gpio109 > echo 109 > export
[root@at91]:gpio109 > cd gpio109/
[root@at91]:gpio109 > ll
-rw-r--r--    1 root     0            4096 Jan  1 00:17 direction
drwxr-xr-x    2 root     0               0 Jan  1 00:17 power
lrwxrwxrwx    1 root     0               0 Jan  1 00:17 subsystem -> ../../gpio
-rw-r--r--    1 root     0            4096 Jan  1 00:17 uevent
-rw-r--r--    1 root     0            4096 Jan  1 00:17 value

The gpio works well but I can't use interrupts.
I read everywhere i must have an edge file to poll this file. But on my system this file doesn't exist.
I made a lot of tries to find a solution but remain unsuccessfull.

My target is an AT91SAM9263 on linux kernel 2.6.30.

At the boot of my board I got this message on interrupts :

AT91: 160 gpio irqs in 5 banks

which show that the function at91_gpio_irq_setup() is well executed.

Have you any idea ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

国际总奸 2024-12-31 01:11:24

仅当 GPIO 引脚可配置为中断生成引脚时,“edge”文件才存在。请参阅:http://www.mjmwired.net/kernel/Documentation/gpio.txt#634

由于您没有看到它,这意味着驱动程序和可能的硬件不支持使用该 GPIO 引脚作为中断源。

The "edge" file only exists if that GPIO pin can be configured as a an interrupt generting pin. See: http://www.mjmwired.net/kernel/Documentation/gpio.txt#634.

Since you don't see it, it means the driver and possibly the hardware do not support using that GPIO pin for interrupt source.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文