Author Topic: Интерфейс sysfs у GPIO  (Read 2053 times)

Offline slyOstrich

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Интерфейс sysfs у GPIO
« on: May 05, 2016, 07:30:02 am »
Я знаю что с помощью команды poll можно организовать прерывание которое будет срабатывать по фронту состояния сигнала (edge) , получается для постоянной обработки прерываний с кнопок, подключённых по gpio к портам, нужно это все это поставить в бесконечный цикл? И если да, то не лучше будет ли написать драйвер для Linux?
И если запускать данную программу с помощью автозагрузки /etc/profile , можно ли будет улавливать изменение значений уже в оконной программе написанной на qt, gtk, wxwidgets ?

Offline Раджа

  • Sr. Member
  • ****
  • Posts: 438
  • Karma: +6/-2
  • Разбираюсь в чем попало
    • View Profile
Re: Интерфейс sysfs у GPIO
« Reply #1 on: May 22, 2016, 03:35:17 am »
>  с помощью автозагрузки /etc/profile
Это ни разу не автозагрузка. Этот скрипт выполняется только при логине.
Заткнись и смотри аниме!

Offline Станислав

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Интерфейс sysfs у GPIO
« Reply #2 on: December 31, 2016, 04:24:29 am »
Я знаю что с помощью команды poll можно организовать прерывание которое будет срабатывать по фронту состояния сигнала (edge) , получается для постоянной обработки прерываний с кнопок, подключённых по gpio к портам, нужно это все это поставить в бесконечный цикл? И если да, то не лучше будет ли написать драйвер для Linux?
И если запускать данную программу с помощью автозагрузки /etc/profile , можно ли будет улавливать изменение значений уже в оконной программе написанной на qt, gtk, wxwidgets ?
Да можно, это называется производитель-потребитель приложение. Производителем событий у вас будет программа которая проводит GPIO-опрос (poll) . Потребителем GPIO-событий производителя, будет оконное приложение, которое будет подключаться к производителю и выводить их в окне.

Да, программа производитель GPIO-событий может запускаться через /etc/profile если при загрузке системы производится запуск программы /bin/login
« Last Edit: December 31, 2016, 04:30:37 am by Станислав »