December 08, 2019, 06:26:19 pm

News:

Have you visited the Allwinner Chipset wiki? - http://linux-sunxi.org/


Интерфейс sysfs у GPIO

Started by slyOstrich, May 05, 2016, 07:30:02 am

Previous topic - Next topic

slyOstrich

Я знаю что с помощью команды poll можно организовать прерывание которое будет срабатывать по фронту состояния сигнала (edge) , получается для постоянной обработки прерываний с кнопок, подключённых по gpio к портам, нужно это все это поставить в бесконечный цикл? И если да, то не лучше будет ли написать драйвер для Linux?
И если запускать данную программу с помощью автозагрузки /etc/profile , можно ли будет улавливать изменение значений уже в оконной программе написанной на qt, gtk, wxwidgets ?

Раджа

>  с помощью автозагрузки /etc/profile
Это ни разу не автозагрузка. Этот скрипт выполняется только при логине.
Заткнись и смотри аниме!

Станислав

December 31, 2016, 04:24:29 am #2 Last Edit: December 31, 2016, 04:30:37 am by Станислав
Quote from: slyOstrich on May 05, 2016, 07:30:02 am
Я знаю что с помощью команды poll можно организовать прерывание которое будет срабатывать по фронту состояния сигнала (edge) , получается для постоянной обработки прерываний с кнопок, подключённых по gpio к портам, нужно это все это поставить в бесконечный цикл? И если да, то не лучше будет ли написать драйвер для Linux?
И если запускать данную программу с помощью автозагрузки /etc/profile , можно ли будет улавливать изменение значений уже в оконной программе написанной на qt, gtk, wxwidgets ?

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

Да, программа производитель GPIO-событий может запускаться через /etc/profile если при загрузке системы производится запуск программы /bin/login