roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 05:24

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Как отслеживать нажатие кнопки во время таймера
СообщениеДобавлено: 10 ноя 2015, 23:09 
Не в сети

Зарегистрирован: 06 ноя 2015, 14:02
Сообщения: 6
Если на кнопку нажали один раз, то нужно включить реле на 300 с. Но если за эти 300 с на кнопку нажмут еще раз, нужно выключить реле сразу же при нажатии кнопки. Как это грамотнее сделать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отслеживать нажатие кнопки во время таймера
СообщениеДобавлено: 10 ноя 2015, 23:25 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
что значит как отслеживать во время таймера? естественно берёте в прерывании таймера и смотрите состояние пина. со второй частью так же элементарно.
если(пин==нажато && предсост==не нажато){при нажатии();}
если(пин==не нажато && предсост== нажато){при отпускании();}
предсост=пин;
при нажатии()
{
если(последнее нажатие - 300c > текущее время) включить реле;
последнее нажатие = текущее время;
}
ну и так, по секрету - у авр для некоторых лап есть возможность настраивать прерывания по нарастающему или спадающему фронту. ещё не всегда хорошо выполнять много кода в прерываниях, бывает, что лучше присвоить значение какой переменной и позже в основном коде уже проверить и что-то выполнять.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO