ATtiny13, 3 режима работы.
-
Beginner_AVR
- Родился
- Сообщения: 7
- Зарегистрирован: Ср июн 05, 2024 17:43:53
ATtiny13, 3 режима работы.
Добрый вечер.
Имеется устройство со следующим алгоритмом:
1) при удержании тактовой кнопки в течение 5 секунд происходит включение устройства.
2) далее по коротким нажатиям изменяется одно значение (прибавляется 1)
3) при удержании тактовой кнопки в течение 15 секунд происходит выключение устройства.
В чем же, собственно, проблема? С дребезгом контактов и обработкой коротких нажатий проблем нет. Есть проблема с длинными нажатиями, как их обрабатывать в прерываниях таймера по COMPA? Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? Короткие нажатия проверяются только после длинного в 5 секунд, которое включает устройство.
Заранее спасибо за помощь.
Имеется устройство со следующим алгоритмом:
1) при удержании тактовой кнопки в течение 5 секунд происходит включение устройства.
2) далее по коротким нажатиям изменяется одно значение (прибавляется 1)
3) при удержании тактовой кнопки в течение 15 секунд происходит выключение устройства.
В чем же, собственно, проблема? С дребезгом контактов и обработкой коротких нажатий проблем нет. Есть проблема с длинными нажатиями, как их обрабатывать в прерываниях таймера по COMPA? Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? Короткие нажатия проверяются только после длинного в 5 секунд, которое включает устройство.
Заранее спасибо за помощь.
- Реклама
Re: ATtiny13, 3 режима работы.
[uquote="Beginner_AVR",url="/forum/viewtopic.php?p=4587825#p4587825"]Добрый вечер.
Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? .[/uquote]
Не добавлять после включения сразу.
Клик кнопки это два события: сначала нажатое, потом отжатое. Расстояние между этими двумя событиями и есть условие добавления чего либо. Какой отсюда вывод? Добавлять потом, после отжатия и если дельта удовлетворила условию.
Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? .[/uquote]
Не добавлять после включения сразу.
Клик кнопки это два события: сначала нажатое, потом отжатое. Расстояние между этими двумя событиями и есть условие добавления чего либо. Какой отсюда вывод? Добавлять потом, после отжатия и если дельта удовлетворила условию.
-
Beginner_AVR
- Родился
- Сообщения: 7
- Зарегистрирован: Ср июн 05, 2024 17:43:53
Re: ATtiny13, 3 режима работы.
Martian, а можно примером кода, ибо мысленно я понимаю, а реализовать не получается
Re: ATtiny13, 3 режима работы.
удалено по настоятельной просьбе OKF

Последний раз редактировалось BOB51 Ср июн 05, 2024 21:55:45, всего редактировалось 1 раз.
-
Beginner_AVR
- Родился
- Сообщения: 7
- Зарегистрирован: Ср июн 05, 2024 17:43:53
Re: ATtiny13, 3 режима работы.
BOB51, наверное это все уже опробовано, поэтому и прошу пример кода, а не на словах. если бы работало, этой темы бы не создавал.
- Реклама
Re: ATtiny13, 3 режима работы.
Beginner_AVR, код для ардуино подойдет?
сможете адаптировать для себя?
если да, то попробую помочь
сможете адаптировать для себя?
если да, то попробую помочь
все гениальное просто. чем проще - тем надежнее
Re: ATtiny13, 3 режима работы.
удалено по настоятельной просьбе OKF

Последний раз редактировалось BOB51 Ср июн 05, 2024 21:55:26, всего редактировалось 1 раз.
-
Beginner_AVR
- Родился
- Сообщения: 7
- Зарегистрирован: Ср июн 05, 2024 17:43:53
Re: ATtiny13, 3 режима работы.
v1ct0r, попробую разобраться
Добавлено after 1 minute 16 seconds:
BOB51, напишите за меня программу - это когда просят полный алгоритм, у меня же проблема с маленьким кусочком, не равняйте, пожалуйста
Добавлено after 1 minute 16 seconds:
BOB51, напишите за меня программу - это когда просят полный алгоритм, у меня же проблема с маленьким кусочком, не равняйте, пожалуйста
Re: ATtiny13, 3 режима работы.
удалено по настоятельной просьбе OKF

Последний раз редактировалось BOB51 Ср июн 05, 2024 21:55:08, всего редактировалось 1 раз.
-
Beginner_AVR
- Родился
- Сообщения: 7
- Зарегистрирован: Ср июн 05, 2024 17:43:53
Re: ATtiny13, 3 режима работы.
BOB51, язык С, не первая моя прошивка, поэтому этих "мелочей" в дальнейшем быть не должно, все остальное уже реализовал, что хотел.
Re: ATtiny13, 3 режима работы.
удалено по настоятельной просьбе OKF

Последний раз редактировалось BOB51 Ср июн 05, 2024 21:54:48, всего редактировалось 2 раза.
-
Beginner_AVR
- Родился
- Сообщения: 7
- Зарегистрирован: Ср июн 05, 2024 17:43:53
Re: ATtiny13, 3 режима работы.
BOB51, gcc от микрочипстудии
Re: ATtiny13, 3 режима работы.
удалено по настоятельной просьбе OKF

Последний раз редактировалось BOB51 Ср июн 05, 2024 21:54:30, всего редактировалось 1 раз.
Re: ATtiny13, 3 режима работы.
[uquote="Beginner_AVR",url="/forum/viewtopic.php?p=4587825#p4587825"]С дребезгом контактов и обработкой коротких нажатий проблем нет. Есть проблема с длинными нажатиями, как их обрабатывать в прерываниях таймера по COMPA? Как сделать так, чтобы во время обработки длинного нажатия не срабатывало короткое и после включения сразу не добавляло +1 к значению? Короткие нажатия проверяются только после длинного в 5 секунд, которое включает устройство.[/uquote]
Включаем логику. Короткое от длинного можно отличить только при отжатии. Что не очень удобно. Иначе, сначала будет короткое, а затем длинное. Решайте.
Включаем логику. Короткое от длинного можно отличить только при отжатии. Что не очень удобно. Иначе, сначала будет короткое, а затем длинное. Решайте.
Re: ATtiny13, 3 режима работы.
удалено по настоятельной просьбе OKF

Последний раз редактировалось BOB51 Ср июн 05, 2024 21:53:14, всего редактировалось 1 раз.
Re: ATtiny13, 3 режима работы.
"Ты ему про Фому, а он тебе про Ерёму". Ардуинки/хуинки... Ужос.(
- >TEHb<
- Друг Кота
- Сообщения: 5742
- Зарегистрирован: Ср ноя 11, 2009 17:19:30
- Откуда: Воронеж
- Контактная информация:
Re: ATtiny13, 3 режима работы.
Что сейчас есть? Этот таймер считает время или это тоже предстоит организовать?
"Привет!" - соврал он.
Re: ATtiny13, 3 режима работы.
тоже, судя по всему. Задача примитивная, измерить время между двумя событиями, если спрашивающий не может даже плохонькую реализацию сделать, значит, надо всё...
Я могу только словами для Атмела. Но, похоже, тут уже было, но удаляли.
Я могу только словами для Атмела. Но, похоже, тут уже было, но удаляли.
-
Beginner_AVR
- Родился
- Сообщения: 7
- Зарегистрирован: Ср июн 05, 2024 17:43:53
Re: ATtiny13, 3 режима работы.
Все, уже неактуально. Всем спасибо. Разобрался сам.
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: ATtiny13, 3 режима работы.
Цикл статей Татарчевского. В этом цикле switch-case. Конечные автоматы. Программные таймеры. В 8 части рассказано, как сделать опрос кнопок. С удержанием, автоповтором.
Ваша хотелка это два конечных автомата. Один главный. Устройство. Второй автомат опроса кнопок.
Ваша хотелка это два конечных автомата. Один главный. Устройство. Второй автомат опроса кнопок.


