Например TDA7294

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



Текущее время: Ср янв 22, 2020 01:54:55

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


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



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

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

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

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

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

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


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

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

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

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

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

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


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

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

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

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

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

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


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

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

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

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

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 
Контроль в спящем режиме: повышение КПД батарейного питания с помощью DC/DC MAX17225 nanoPower

В статье описан практический опыт разработчика, применившего повышающий DC/DC-преобразователь MAX17225. В результате ряда практических экспериментов, потребовавших существенного обновления технической базы компании-разработчика, автор убедительно доказывает преимущества выбранного компонента и схемотехнической реализации. Увеличенное на 50% время автономной работы лучше других аргументов говорит об эффективности конвертеров MAX17225, а также о важности предварительной оценки элементной базы.

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

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


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

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

Зарегистрирован: Вс мар 30, 2014 21:41:24
Сообщений: 169
Откуда: Украина
Рейтинг сообщения: 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 
Модератор
Аватар пользователя

Карма: 78
Рейтинг сообщений: 797
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4073
Откуда: Планета Земля
Рейтинг сообщения: 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
Сообщений: 169
Откуда: Украина
Рейтинг сообщения: 0
Большое спасибо. Исправил.


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

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

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

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

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


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

Карма: 28
Рейтинг сообщений: 560
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4490
Откуда: Украина, Славутич
Рейтинг сообщения: 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
Рейтинг сообщений: 31
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6223
Откуда: Ukraine, Mariupol
Рейтинг сообщения: 0
ARV писал(а):
ну почему не слушаете советов?!

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

_________________
____________Если бы начальником был я___________
«Нет верной оценки. Нет справедливого суда. Безошибочно только милосердие.»


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

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

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


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

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

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


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

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

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


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

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

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

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

_________________
____________Если бы начальником был я___________
«Нет верной оценки. Нет справедливого суда. Безошибочно только милосердие.»


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

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


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

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


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

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

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


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

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


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

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

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


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

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


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

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


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

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


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