Как C / C ++ select работает с gpio под Linux? - PullRequest
3 голосов
/ 30 марта 2011

Как работает select с gpio под Linux?

Можно ли использовать select для создания программы, управляемой прерываниями, может быть, с помощью некоторых тем?

А о чем мне будет думать, когда я использую вызов select?

Спасибо


Примечание: Я прочитал справочную страницу по select, но думаю, мне нужна дополнительная помощь по этой теме.

  • man 3posix select
  • человек 2 выберите
  • человек 2 select_tut

Обновление : gpio доступен в блоке sysfs gpio. Но я не знаю, смогу ли я использовать это с select.

Ответы [ 2 ]

4 голосов
/ 03 апреля 2011

Очевидно, вы можете использовать select () для GPIO, предоставляемого через sysfs, но только если он может быть настроен на генерацию прерывания.Ваша платформа может иметь это или нет.

Что вы хотите прочитать, хотя это Documentation / gpio.txt в вашем исходном коде ядра, в котором упоминается, как включить прерывание для вывода, если драйвер ядра это позволяет.

1 голос
/ 30 марта 2011

Должна быть возможность написать многопоточную программу, которая ищет прерывания и что-то делает, когда они происходят. Этот блог показывает, что можно сделать, когда вы выходите за пределы ограничений выбора.Я не работал с GPIO, но из того, что я прочитал, GPIO не должен сильно отличаться от телефонии / сетевой карты, описанной в блоге, упомянутом выше.

...