我想使用 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()
执行得很好。
你有什么想法吗?
仅当 GPIO 引脚可配置为中断生成引脚时,“edge”文件才存在。看:http://www.mjmwired.net/kernel/Documentation/gpio.txt#634 http://www.mjmwired.net/kernel/Documentation/gpio.txt#634.
由于您没有看到它,这意味着驱动程序和可能的硬件不支持使用该 GPIO 引脚作为中断源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)