Например TDA7294

Форум РадиоКот • Просмотр темы - Обработка нажатия кнопки в AVR...
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 19:54:10

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


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 294 ]     ... , , , 12, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вс апр 27, 2014 05:38:13 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
HHIMERA писал(а):
delay() к чему относится???
А если МК имеет хардварную обработку кнопок???

Можешь назвать МК с хардварной обработкой кнопок?
Или опять забыл название темы?
А может слово "универсальный" выпало из твоей памяти? :facepalm:
Ранний склероз?
:facepalm:
Стас, чем больше ты пытаешься троллить по обсуждаемому вопросу, тем глупее выглядишь... :(

HHIMERA писал(а):
И в догонку...
КРАМ писал(а):
Из серии printf ...

А что... printf так тяжек для нежного и ранимого мозга???
А если он хорошо ложится под задачу... почему бы и нет??? Или костность мышления не позволяет???

Косность мышления состоит в том, чтобы при выборе дисплея выяснять поддерживает его библиотека или нет...
Телега все же находится позади лошади...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вс апр 27, 2014 10:10:57 
Друг Кота

Карма: -18
Рейтинг сообщений: 29
Зарегистрирован: Вс дек 05, 2010 06:10:34
Сообщений: 4583
Откуда: ЮВ
Рейтинг сообщения: 0
КРАМ писал(а):
Можешь назвать МК с хардварной обработкой кнопок?

Cortex M0 от Nuvoton... хотя к данной теме это и не относится...
Цитата:
слово "универсальный"

"Заставь дурака богу молиться..."(С)
Вот так и ты... со своим "универсальный"... как "с писаной торбой"... :))) :)))
Нечего сказать по теме, так лучше промолчи...
Цитата:
Телега все же находится позади лошади...

Ох и тяжёлая она для тебя!!!

_________________
"Я не даю готовых решений, я заставляю думать!"(С)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вс апр 27, 2014 10:52:24 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
HHIMERA писал(а):
КРАМ писал(а):
Можешь назвать МК с хардварной обработкой кнопок?

Cortex M0 от Nuvoton... хотя к данной теме это и не относится...

Если к данной теме не относится, то к чему ты об этом?
Собственно все уже сказано тем, что ТС ни хрена не понял из приведенного ARV примера.
Тогда ЗАЧЕМ? Чтобы еще раз выпендриться?
Или заставить "подумать"?
Над чем?
:facepalm:
Прежде чем учить, нужно самому научиться учить...
HHIMERA писал(а):
Нечего сказать по теме, так лучше промолчи...

Стас, тебя уже банили за твои "чего сказать по теме"...
Видимо твой ЧСВ исключает такой "корм"...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вс апр 27, 2014 11:43:23 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я вот даже и не знаю, то-ли чистить тему, то-ли совсем её сносить, т.к. чистить придётся полдня... :facepalm:


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вс апр 27, 2014 18:48:31 
Опытный кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср фев 22, 2012 01:25:21
Сообщений: 882
Рейтинг сообщения: 0
Господин модератор!
Если надумаете чистить, то просьба и тут сразу почистить viewtopic.php?p=1382330#p1382330
А то местный персонаж и там постарался наславу...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 09:18:37 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 30, 2014 21:41:24
Сообщений: 170
Откуда: Украина
Рейтинг сообщения: 0
Рискнул сделать еще одну попытку, посмотрите пожалуйста. Просьба: если что-то не так то ткните носом где именно. Я всего лишь пытаюсь научиться обрабатывать кнопки, но также хочется все делать правильно вот по этому и обращаюсь к вам.
Код:
#include <mega8.h>
#include <delay.h>
unsigned char a=0;        //переменной "а" присвоить "0"
void main(void)
{
 
PORTB=0x00;               //PORTB-выход(0)
DDRB=0x01;
 
PORTC=0x01;               //PORTC-вход(1)
DDRC=0x00;

while(1)
       {
        if(PINC.0==0)     //если кнопка нажата
        {
         delay_ms(50);    // ждем 50мс
         if(PINC.0==0)    // проверяем еще раз, если нажата
         {           
         a++;             // инкриминируем "а"   
         }
         while(PINC.0==0) // ждем отпускания кнопки
         {       
         }
        if(a==2)          // если "а" равно 2(кнопка нажата 2 раза)
         {
         PORTB.0=1;       // "1" на порт Б
         a=0;             // обнуляем "а"
         }
        }             
       }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 10:27:31 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Событие у Вас происходит после отжатия кнопки, по этому и делайте инкремент после ожидания отжатия, сразу с проверкой.
Что то типа такого :
Код:
        if(PINC.0==0)     //если кнопка нажата
        {
         delay_ms(50);    // ждем 50мс
         while(PINC.0==0) continue;    // ждем отпускания кнопки
        if(++a>=2)          // если "а" равно 2(кнопка нажата 2 раза)
         {
         PORTB.0=1;       // "1" на порт Б
         a=0;             // обнуляем "а"
         }
        }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 12:03:29 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 30, 2014 21:41:24
Сообщений: 170
Откуда: Украина
Рейтинг сообщения: 0
Большое спасибо. Исправил.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 12:12:47 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ну почему не слушаете советов?! все равно ведь используете метод опроса - почему тогда не поступите, как рекомендовал я, т.е. выделить работу с опросом в отдельную функцию и использовать ее, где нужно?!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 12:16:18 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Зачем все так сложно? Неужели это все проще анализа состояния кнопки равными интервалами?

Цитата:
хочется все делать правильно
Понятие правильно - субъективное. Правильно все то что работает, а правильней - то что при этом просто и красиво выглядит.


Код:
while(1)
       {
        delay_ms(10); // Это самый простой способ соблюсти условие для нижней строчки
        butt = PINC.0  // Главное здесь именно эта строчка, она должна выполнятся максимум один раз в 10мс, если соблюсти это условие - дребезг будет не страшен.
       
       if(butt <> last)
        {
         if(butt ==0) {момент когда кнопка нажата}
         if(butt ==1) {момент когда кнопка отпущена}
         }
       last = butt
       }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 12:54:26 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
ну почему не слушаете советов?!

видать, от изобилия советов, человек просто-напростаки запутался и незнает чьим советам следовать :))

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 15:02:12 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 30, 2014 21:41:24
Сообщений: 170
Откуда: Украина
Рейтинг сообщения: 0
sanyo.95 писал(а):
ну почему не слушаете советов?!

Советы я "слушаю" очень внимательно, перечитываю по 100500 раз, но мне непонятно как это сделать из за моего уровня знаний в данной области, так что извините. Вот подучусь немного еще, начну ПОНИМАТЬ Ваши советы и вот тогда...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 17:41:48 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
sanyo.95 писал(а):
Советы я "слушаю" очень внимательно, перечитываю по 100500 раз, но мне непонятно как это сделать

Рискну привести вариант с системным таймером в виде диаграммы работы:
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Пн апр 28, 2014 21:16:41 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 30, 2014 21:41:24
Сообщений: 170
Откуда: Украина
Рейтинг сообщения: 0
КРАМ писал(а):
Рискну привести вариант с системным таймером в виде диаграммы работы:

Спасибо большое, но все же остановлюсь пока на том что получилось.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вт апр 29, 2014 11:38:29 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
КРАМ писал(а):
sanyo.95 писал(а):
Советы я "слушаю" очень внимательно, перечитываю по 100500 раз, но мне непонятно как это сделать

Рискну привести вариант с системным таймером в виде диаграммы работы:
Изображение

тоесть....., вы хотите сказать что использование системного таймера при обработке кнопки является не целесообразным ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вт апр 29, 2014 13:36:26 
Опытный кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср фев 22, 2012 01:25:21
Сообщений: 882
Рейтинг сообщения: 0
FreshMan писал(а):
тоесть....., вы хотите сказать что использование системного таймера при обработке кнопки является не целесообразным ?
КРАМ как раз и предлагает сделать на таймере .....
Что кстати и является наиболее универсальным решением...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Вт апр 29, 2014 13:59:57 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Что я в самом начале и предлагал... только сам таймер в виду начинающего заменить на бесконечный цикл специально замедленный на 10мс/итерация, это и правда простое решение если контроллеру кроме обработки кнопки больше ничего делать не нужно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Ср апр 30, 2014 09:19:57 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
sanyo.95 писал(а):
становлюсь пока на том что получилось.
Ну и напрасно, потом начнутся проблемы, связанные с выполнением отдельных кусков кода.
Сейчас у Вас пока нажата кнопка, программа тупо зациклена, не выполняя ничего, а могла бы выполнять что-нибудь полезное. Нужно стараться распараллеливать процессы, тогда не возникнет никаких трудностей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Ср апр 30, 2014 12:49:23 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 30, 2014 21:41:24
Сообщений: 170
Откуда: Украина
Рейтинг сообщения: 0
Вы имеете в виду прерывания от таймера. Т.е. поместить опрос кнопки в обработчик прерываний? Или как?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Обработка нажатия кнопки в AVR...
СообщениеДобавлено: Чт май 01, 2014 17:34:11 
Опытный кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср фев 22, 2012 01:25:21
Сообщений: 882
Рейтинг сообщения: 0
sanyo.95 писал(а):
Вы имеете в виду прерывания от таймера. Т.е. поместить опрос кнопки в обработчик прерываний? Или как?

Именно так...
Вот примерчик:


Вложения:
sanyo.95_button_lib_example.7z [17.65 KiB]
Скачиваний: 475
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 294 ]     ... , , , 12, , ,  

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y