Нужна толковая учебка по кнопкам с AVR
Нужна толковая учебка по кнопкам с AVR
Мяу-мяу! т.е . ЗДРАСТЕ!
Может кто знает, где есть учебный курс по более расширенной работе кнопками с мега8. В сети совсем мало именно по этой теме, и для решения моей задачи не очень-то помогает.
с уважением.
Может кто знает, где есть учебный курс по более расширенной работе кнопками с мега8. В сети совсем мало именно по этой теме, и для решения моей задачи не очень-то помогает.
с уважением.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Нужна толковая учебка по кнопкам с AVR
огласите свою задачу, пожалуйста.
я подозреваю, что никто здесь, кроме вас, не представляет, какая такая "расширенная" работа с кнопками может быть.
вроде все разжевано, проглочено, переварено и высрано многократно - дребезг, поллинг, прерывания, матричные кнопки... что еще не охвачено?
я подозреваю, что никто здесь, кроме вас, не представляет, какая такая "расширенная" работа с кнопками может быть.
вроде все разжевано, проглочено, переварено и высрано многократно - дребезг, поллинг, прерывания, матричные кнопки... что еще не охвачено?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Нужна толковая учебка по кнопкам с AVR
Например, здесь и в ютубе на народстрим и майчип описывается самое простое: вкл-выкл светодиод и борьба с дребезгом. Поэтому я и обратился за помощью. А моя задача :
1. два канала управления ,в каждом кнопки "+" и "-" , в одном 4 выхода , в другом 3,
2. подали питание, включился выход 1 в обоих каналах,
3. управление по каналам независимое,
4. давим "+" , 1-ый выход потух, включился 2-ой, и каждое нажатие переключает на 1 пункт, на последнем счёт останавливается,
5. давим "-" , счёт идёт в обратную сторону также одно нажатие - одно переключение , доходит до первого выхода и стопорится , т. е. по кольцу не ходит.
Понятно, что задачка простая, но собирать на реверс-счётчиках и логике на сегодняшний день как-то сами понимаете.
1. два канала управления ,в каждом кнопки "+" и "-" , в одном 4 выхода , в другом 3,
2. подали питание, включился выход 1 в обоих каналах,
3. управление по каналам независимое,
4. давим "+" , 1-ый выход потух, включился 2-ой, и каждое нажатие переключает на 1 пункт, на последнем счёт останавливается,
5. давим "-" , счёт идёт в обратную сторону также одно нажатие - одно переключение , доходит до первого выхода и стопорится , т. е. по кольцу не ходит.
Понятно, что задачка простая, но собирать на реверс-счётчиках и логике на сегодняшний день как-то сами понимаете.
Re: Нужна толковая учебка по кнопкам с AVR
Если рассматривать одно нажатие. То алгоритм такой. Нажимается кнопка, подвалятся дребезг, отключается (записывает лог. 0 в порт) 1 выход, небольшая задержка 1-5 миллисекунд, далее все это дело переходит в программный блок второго нажатия, включается (записывает лог. 1 в порт) 2 выход и проверяется отжата ли кнопка. Ну а далее все также со стальными выходами. 

Для связи email: risctronix собака gmail.com
Re: Нужна толковая учебка по кнопкам с AVR
Возможно моё предложение это идиотизм и меня закидают какахами, но если вам жаль тратить таймеры и использовать поллинг, то вам может помочь эта схема

Не могу сказать, что окончательно уверен в её работоспособности, но что-то мне подсказывает, что неработать тут нечему.
Ловим прерывания INT0 или INT1 и сразу проверяем содержимое регистра PIND. Если нажата одна кнопка - делаем ..., если другая...
Добавлено after 1 minute 22 seconds:
Естественно кондёры надо не забыть.
Не могу сказать, что окончательно уверен в её работоспособности, но что-то мне подсказывает, что неработать тут нечему.
Ловим прерывания INT0 или INT1 и сразу проверяем содержимое регистра PIND. Если нажата одна кнопка - делаем ..., если другая...
Добавлено after 1 minute 22 seconds:
Естественно кондёры надо не забыть.
- Вложения
-
- 123.png
- (15.91 КБ) 734 скачивания
Re: Нужна толковая учебка по кнопкам с AVR
Добавлено after 1 minute 49 seconds:
Возможно моё предложение это идиотизм и меня закидают какахами, но если вам жаль тратить таймеры и использовать поллинг, то вам может помочь эта схема

Не могу сказать, что окончательно уверен в её работоспособности, но что-то мне подсказывает, что неработать тут нечему.
Ловим прерывания INT0 или INT1 и сразу проверяем содержимое регистра PIND. Если нажата одна кнопка - делаем ..., если другая...
Добавлено after 1 minute 22 seconds:
Естественно кондёры надо не забыть.
За схемку спасибо, ещё бы кодик ...Не могу сказать, что окончательно уверен в её работоспособности, но что-то мне подсказывает, что неработать тут нечему.
Ловим прерывания INT0 или INT1 и сразу проверяем содержимое регистра PIND. Если нажата одна кнопка - делаем ..., если другая...
Добавлено after 1 minute 22 seconds:
Естественно кондёры надо не забыть.
Re: Нужна толковая учебка по кнопкам с AVR
Так у вас 7 выходов в сумме и они все одинаковые по алгоритму работы. А сам алгоритм, я уже описал выше. Вот берите и пишите по нему код.
И прерывания тут нафиг не нужно. Оно только усложнит задачу. Так как прерывания и дребезг контактов, это тот еще геморрой.
И прерывания тут нафиг не нужно. Оно только усложнит задачу. Так как прерывания и дребезг контактов, это тот еще геморрой.
Для связи email: risctronix собака gmail.com
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Нужна толковая учебка по кнопкам с AVR
диоды то нафига? если так нужны прерывания, - PCINT в помощь, ловишь прерывание с любой ноги его порта а там проверяешь...по уму - просто регулярно опрашивай кнопки и считай сколько раз оказалось "нажато" подряд...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: Нужна толковая учебка по кнопкам с AVR
У mega8 PCINT нет.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Нужна толковая учебка по кнопкам с AVR
вообще говоря, совершенно не понятно, с чего сыр-бор.
самое тупое, но надежное, как лом, решение - поллинг порта, - чем не устраивает?
1. считали состояние порта с кнопками
2. замаскировали лишние биты, чтобы остались только биты с кнопками
3. запомнили этот байт
4. подождали 10-20 мс
5. снова проделали п.1-2 и сравнили результат с запомненным байтом
6. если они равны - в байте будет число, однозначно соответствующее комбинации нажатых кнопок, если не равны - игнорируем это вообще, обнуляя результат
7. вышеперечисленное оформляем в виде отдельной функции, возвращающей код состояния кнопок, и вызываем с нужной периодичностью из главного цикла
8. в главном цикле вызываем функцию, и по её результату делаем то или иное действие, если 0 - не делаем ничего.
куда уж проще-то?
самое тупое, но надежное, как лом, решение - поллинг порта, - чем не устраивает?
1. считали состояние порта с кнопками
2. замаскировали лишние биты, чтобы остались только биты с кнопками
3. запомнили этот байт
4. подождали 10-20 мс
5. снова проделали п.1-2 и сравнили результат с запомненным байтом
6. если они равны - в байте будет число, однозначно соответствующее комбинации нажатых кнопок, если не равны - игнорируем это вообще, обнуляя результат
7. вышеперечисленное оформляем в виде отдельной функции, возвращающей код состояния кнопок, и вызываем с нужной периодичностью из главного цикла
8. в главном цикле вызываем функцию, и по её результату делаем то или иное действие, если 0 - не делаем ничего.
куда уж проще-то?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Нужна толковая учебка по кнопкам с AVR
... для решения моей задачи не очень-то помогает.
Как это куда?!ARV писал(а):...куда уж проще-то?
Sergbern писал(а):За схемку спасибо, ещё бы кодик ...
Re: Нужна толковая учебка по кнопкам с AVR
Если по прерываниям - достаточно одной линии возврата и порта контрольного поля конпок.

Re: Нужна толковая учебка по кнопкам с AVR
Если по прерываниям - достаточно одной линии возврата и порта контрольного поля конпок.

Прочёл 3 раза. ЛИНИЯ возврата? Порт КОНТРОЛЬНОГО ПОЛЯ? Куда я попал?
Re: Нужна толковая учебка по кнопкам с AVR [РЕШЕНО]
Ушёл на учёбу, вернусь не скоро ...