Имеется устройство со следующим алгоритмом: 1) при удержании тактовой кнопки в течение 5 секунд происходит включение устройства. 2) далее по коротким нажатиям изменяется одно значение (прибавляется 1) 3) при удержании тактовой кнопки в течение 15 секунд происходит выключение устройства.
В чем же, собственно, проблема? С дребезгом контактов и обработкой коротких нажатий проблем нет. Есть проблема с длинными нажатиями, как их обрабатывать в прерываниях таймера по COMPA? Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? Короткие нажатия проверяются только после длинного в 5 секунд, которое включает устройство.
Добрый вечер. Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? .
Не добавлять после включения сразу.
Клик кнопки это два события: сначала нажатое, потом отжатое. Расстояние между этими двумя событиями и есть условие добавления чего либо. Какой отсюда вывод? Добавлять потом, после отжатия и если дельта удовлетворила условию.
Добавлено after 1 minute 16 seconds: BOB51, напишите за меня программу - это когда просят полный алгоритм, у меня же проблема с маленьким кусочком, не равняйте, пожалуйста
С дребезгом контактов и обработкой коротких нажатий проблем нет. Есть проблема с длинными нажатиями, как их обрабатывать в прерываниях таймера по COMPA? Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? Короткие нажатия проверяются только после длинного в 5 секунд, которое включает устройство.
Включаем логику. Короткое от длинного можно отличить только при отжатии. Что не очень удобно. Иначе, сначала будет короткое, а затем длинное. Решайте.
тоже, судя по всему. Задача примитивная, измерить время между двумя событиями, если спрашивающий не может даже плохонькую реализацию сделать, значит, надо всё... Я могу только словами для Атмела. Но, похоже, тут уже было, но удаляли.
Цикл статей Татарчевского. В этом цикле switch-case. Конечные автоматы. Программные таймеры. В 8 части рассказано, как сделать опрос кнопок. С удержанием, автоповтором. Ваша хотелка это два конечных автомата. Один главный. Устройство. Второй автомат опроса кнопок.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения