реклама на сайте
подробности

 
 
> нажатие кнопки, в течение определенного интервала
romez777
сообщение Aug 19 2010, 08:35
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Здравствуйте,

программно необходимо читать нажата ли кнопка и если да, то как долго удерживается нажатие (есоли 3сек., то выполнить одно, если 5 сек. то другое).

Есть библиотека gpio от производителя чипа с функциями чтения/записи пина и пр. (вообще это нужно сделать под линуксом, на данном этапе это будет демон, в дальнейшем хотелось бы перенести в ядро), но я решил запостить здесь, потому как меня интересует алгоритм.

Т.е. языком псевдокода как это будет выглядеть? Очевидно, нужно проверять состояние пина, и если кнопка нажата, то запускать таймер - но возникает проблема, как отслеживать два разных тайминга - 3сек и 5 ?


Буду очень признателен за идеи и советы !
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kuzmi4
сообщение Aug 19 2010, 15:49
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 rezident
а как же переполнения таймера ? По моему как раз чтоб о них не думать и нужно запускать/останавливать таймер по нажатию/отжатию ?
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 19 2010, 16:15
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Kuzmi4 @ Aug 19 2010, 21:49) *
а как же переполнения таймера ? По моему как раз чтоб о них не думать и нужно запускать/останавливать таймер по нажатию/отжатию ?

Переполнение не играет рояля, если период переполнения таймера превышает самый длительный интервал, который нужно засекать. Если разрядность таймера не удовлетворяет этому условию, то можно ее расширить программно. Но замечу, что вопрос топикстартера был про Линукс, а в Линуксе просто обязан быть счетчик UNIX/POSIX-времени. Отдельный таймер требуется только в том случае, если разрешение в 1 секунду не устраивает и нужна более "мелкая" дискретизация временных отметок (мс, мкс и т.п.)
Go to the top of the page
 
+Quote Post
romez777
сообщение Aug 20 2010, 04:13
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



rezident, большое спасибо.

Мне сейчас подумалось, а ведь можно обойтись и без таймера, только sleep. Это будет неэффективно, но работать ведь должно smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- romez777   нажатие кнопки   Aug 19 2010, 08:35
- - DpInRock   А они разве разные? Сначала - событие 3 сек. А уж ...   Aug 19 2010, 08:46
- - rezident   Не нужно запускать/останавливать таймер. Таймер до...   Aug 19 2010, 15:46
|- - Demeny   Цитата(rezident @ Aug 19 2010, 19:46) А с...   Sep 8 2010, 13:21
|- - rezident   Цитата(Demeny @ Sep 8 2010, 19:21) К сожа...   Sep 8 2010, 19:19
|- - Demeny   Цитата(rezident @ Sep 8 2010, 23:19) Ну и...   Sep 9 2010, 11:49
|- - rezident   Цитата(Demeny @ Sep 9 2010, 17:49) Тогда ...   Sep 9 2010, 12:20
|- - Demeny   Цитата(rezident @ Sep 9 2010, 16:20) Не н...   Sep 10 2010, 06:35
|- - rezident   Цитата(Demeny @ Sep 10 2010, 12:35) Ваш к...   Sep 10 2010, 12:51
- - 777777   Цитата(romez777 @ Aug 19 2010, 12:35) про...   Aug 20 2010, 09:06
- - sergeeff   Классная программа: Код/*************************...   Aug 20 2010, 09:29
|- - demiurg_spb   Цитата(sergeeff @ Aug 20 2010, 13:29) Кла...   Aug 20 2010, 10:53
|- - sergeeff   Цитата(demiurg_spb @ Aug 20 2010, 13:53) ...   Aug 20 2010, 10:58
||- - rezident   Цитата(sergeeff @ Aug 20 2010, 16:58) Авт...   Aug 20 2010, 11:52
|- - 777777   Цитата(demiurg_spb @ Aug 20 2010, 14:53) ...   Aug 20 2010, 11:04
|- - demiurg_spb   Можно и не ждать: получил 0 - буфер пуст... Цитат...   Aug 20 2010, 11:15
- - sergeeff   Код в студию!   Aug 20 2010, 11:21
|- - demiurg_spb   Код не отдам! А если есть конкретные вопросы -...   Aug 20 2010, 11:45
- - -JonnS-   Прилагаю вариант реализации кот. почти повторяет а...   Aug 22 2010, 17:53
- - Ivan Kuznetzov   а если я хочу помимо всего вышеперечисленного отсл...   Aug 25 2010, 18:14
|- - demiurg_spb   Достаточно одну кнопку удерживать в момент включен...   Aug 25 2010, 18:39
||- - Ivan Kuznetzov   Цитата(demiurg_spb @ Aug 25 2010, 23:39) ...   Aug 27 2010, 14:56
||- - demiurg_spb   Ну пусть сядет. При этом надо чтобы ещё в этот мом...   Aug 30 2010, 10:02
|- - rezident   Цитата(Ivan Kuznetzov @ Aug 26 2010, 00:1...   Aug 25 2010, 18:43
||- - xemul   Цитата(rezident @ Aug 25 2010, 22:43) ......   Aug 25 2010, 20:42
||- - rezident   Цитата(xemul @ Aug 26 2010, 02:42) Лучше ...   Aug 26 2010, 08:51
||- - xemul   Цитата(rezident @ Aug 26 2010, 12:51) Луч...   Aug 26 2010, 12:27
||- - rezident   Цитата(xemul @ Aug 26 2010, 18:27) Т.е. л...   Aug 26 2010, 12:52
||- - xemul   Цитата(rezident @ Aug 26 2010, 16:52) Дык...   Aug 26 2010, 14:21
||- - MrYuran   Цитата(xemul @ Aug 26 2010, 18:21) В прер...   Sep 8 2010, 13:28
|- - 777777   Цитата(Ivan Kuznetzov @ Aug 25 2010, 22:1...   Aug 26 2010, 05:18
- - XVR   ЦитатаЗачем нужно 5с событие, которое произошло по...   Sep 9 2010, 06:45
- - MrYuran   По "отжатию" не стоит работать ещё и пот...   Sep 9 2010, 12:40
- - ILYAUL   Цитата(MrYuran @ Sep 9 2010, 16:40) По ...   Sep 9 2010, 16:27
- - AHTOXA   Цитата(ILYAUL @ Sep 9 2010, 22:27) Странн...   Sep 9 2010, 17:56
|- - ILYAUL   Цитата(AHTOXA @ Sep 9 2010, 21:56) Так эт...   Sep 9 2010, 21:29
|- - MrYuran   Цитата(ILYAUL @ Sep 10 2010, 01:29) Вы по...   Sep 10 2010, 06:59
|- - AHTOXA   Цитата(MrYuran @ Sep 10 2010, 12:59) При ...   Sep 10 2010, 08:42
|- - MrYuran   Цитата(AHTOXA @ Sep 10 2010, 12:42) Видим...   Sep 10 2010, 09:00
|- - AHTOXA   Оно там не всегда обрабатывается, а только из режи...   Sep 10 2010, 09:22
- - rezident   Цитата(ILYAUL @ Sep 9 2010, 22:27) Странн...   Sep 9 2010, 22:27
- - ILYAUL   Цитата(rezident @ Sep 10 2010, 02:27) Еру...   Sep 10 2010, 08:33
- - kolisnichenko_r   Цитата(ILYAUL @ Sep 10 2010, 11:33) Я же ...   Sep 14 2010, 08:33
- - ILYAUL   Цитата(kolisnichenko_r @ Sep 14 2010, 12...   Sep 14 2010, 16:37
- - AHTOXA   Цитата(ILYAUL @ Sep 14 2010, 22:37) Юрий ...   Sep 14 2010, 16:52
- - ILYAUL   Цитата(AHTOXA @ Sep 14 2010, 20:52) Да уж...   Sep 14 2010, 20:44
- - AHTOXA   Так там про мышь, а это совсем другое дело. А про ...   Sep 15 2010, 03:51
- - ILYAUL   Цитата(AHTOXA @ Sep 15 2010, 07:51) ... А...   Sep 15 2010, 05:24


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 22:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01444 секунд с 7
ELECTRONIX ©2004-2016