2012-01-04 2 views
4

Я хотел бы использовать прерывания с GPIO в пользовательском пространстве с помощью sysfs. Я использую следующие команды:Linux Userpace GPIO Прерывания с использованием sysfs

[[email protected]]:gpio109 > echo 109 > export 
[[email protected]]:gpio109 > cd gpio109/ 
[[email protected]]: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 работает хорошо, но я не могу использовать прерывания. Я читаю везде, у меня должен быть файл края, чтобы опросить этот файл. Но в моей системе этот файл не существует. Я сделал много попыток найти решение, но остаюсь безуспешным.

Моя цель - AT91SAM9263 on linux kernel 2.6.30.

В багажнике моего совета, я получил сообщение о прерываниях:

AT91: 160 gpio irqs in 5 banks 

, которые показывают, что функция at91_gpio_irq_setup() хорошо выполняется.

Есть ли у вас какие-либо идеи?

ответ

8

Файл «edge» существует только в том случае, если этот вывод GPIO может быть сконфигурирован как PIN-код для прерывания. См.: http://www.mjmwired.net/kernel/Documentation/gpio.txt#634.

Поскольку вы не видите это, это значит, что драйвер и, возможно, аппаратное обеспечение не поддерживают использование этого вывода GPIO для источника прерываний.

+0

Хорошее редактирование вопроса и приятный ответ :) Я прочитал это, когда он был опубликован, и не заметил номер версии. –

+0

Спасибо за ваш ответ – lgm42

Смежные вопросы