Jump to content

Опросы кнопок на MEGA8 и MEGA16


tifaso
 Share

Recommended Posts

@IMXO Только что отредактировал программу и сделал по вашей ссылке. Все заработало.
Спасибо
Понравилось что в прерывании минимум кода. Только это:

ISR(TIMER0_OVF_vect){
	send_procc();
	timer0_tact+=1;
	static uint8_t cnt;
	if(cnt++ >= 10 ){cnt=0;tick_flag=1;} //флаг опроса кнопок
}//end of ISR

Да еще интересно что все значения задержек подошли для моей частоты процессора и прескалера таймера.
дальше надо придумать как сделать на 16-17 кнопок, потому что эта функция только на 8 кнопок. Думаю сделать еще один такой же обработчик на вторую группу кнопок.

Еще меня заинтересовала ваша цитата ранее

Цитата

жизнь заставляет писать код для приложений работающих в условиях сильных ЭМП , 
если помеха ловится в момент опроса пина без подавления джитера имеем ложное срабатывание.

А можете еще показать пример какого-то вашего кода например тот что для опроса пинов работающих в условиях сильных ЭМП.
Мне такое пригодится. Или подойдет тот что вы отправляли ранее? Возможно имеется что-то лучше? Не буду задавать вопросов. А буду  изучать самостоятельно.

Link to comment
Share on other sites

35 минут назад, Vit@lik сказал:

потому что эта функция только на 8 кнопок. Думаю сделать еще один такой же обработчик на вторую группу кнопок.

зачем? увеличите размерность событий и состояний в структуре и в функции до 16бит и будет 16кнопок....

Link to comment
Share on other sites

Вебинар «Новые тенденции сетевых технологий: Ethernet по одной витой паре» (09.12.2021)

Приглашаем 9 декабря всех желающих посетить вебинар, посвященный технологии Ethernet и её новому стандарту 10BASE-T1S/L. Стандарт 802.3cg описывает передачу данных на скорости до 10 Мбит в секунду по одной витой паре. На вебинаре будут рассмотрены и другие новшества, которые недавно вошли в семейство технологий Ethernet: SyncE, PTP, TSN. Не останется в стороне и высокоскоростной 25G+ Ethernet от Microchip.

Подробнее

Posted (edited)

я что-то думал что 8 битный процессор не способен нормально выполнять логические операции между 16 битными переменными,
хорошо сделаю
думал это делается сложнее

Edited by Vit@lik
Link to comment
Share on other sites

DC/DC-преобразователи Mornsun со склада Компэл

В сложный период для рынка электронных компонентов, когда производители увеличивают сроки поставки продукции, со склада Компэл можно приобрести широкий ассортимент DC/DC-преобразователей производства компании Mornsun. На складе представлены наиболее популярные семейства изолированных и неизолированных DC/DC-преобразователей новых поколений R3 и R4, а также предыдущего, но по-прежнему востребованного поколения R2.

Подробнее

41 минуту назад, Vit@lik сказал:

Все заработало.

это хорошо, только надо понимать,что у этого алгоритма есть ограничения...

для понимания: 
системный вызов опроса кнопок 1мс
дребезг кнопок 15мс
если кнопки будут нажиматься последовательно  с интервалом 14..19мс,
то результат нажатия всех кнопки будет выдан одновременно с последней
и если кнопки нажимались и отжимались результат их нажатия отпускания может быть утерян.
 

Link to comment
Share on other sites

Теперь более 300 наименований: новое поступление Connfly на склад Компэл

Компэл объявляет о значительном расширении складского ассортимента продукции Connfly. Универсальные коммутирующие компоненты, соединители и держатели Connfly сочетают соответствие стандарту ISO9001:2008, высокую доступность и простоту использования. На текущий момент на складе Компэл – более 300 востребованных на рынке товарных наименований с гибкой ценовой политикой.

Подробнее

@IMXO
это устройство почти аналог телевизионного пульта, сюда будет и этого достаточно.
Посоветуйте алгоритм а еще лучше и пример, для опроса датчиков типа геркон (или механический концевик), около 10 шт. С защитой от дребезга, помех, важно уловить все срабатывания, (нажимания и отжимания) и последовательность, если два датчика сработали одновременно то тоже должны фиксировать два или три  (или больше ) события

Link to comment
Share on other sites

Управляемый светодиодный драйвер на базе компонентов ST

ST предлагает готовое решение, адаптируемое под конкретную задачу, двухмодульный отладочный комплект на базе контроллера HVLED001B для разработки светодиодного драйвера светильника наружного освещения с дистанционным управлением по сети 6LoWPAN.

Подробнее

пример независимой обработки приводил выше https://forum.cxem.net/index.php?/topic/222979-опросы-кнопок-на-mega8-и-mega16/&do=findComment&comment=3514038
а  как его модифицировать для

35 минут назад, Vit@lik сказал:

если два датчика сработали одновременно

напрягайте извилины ;)

Link to comment
Share on other sites

@IMXO не работает на более чем 8 кнопок.
пробовал указывать размерность char ... :16 не работает. мне Атмел Cтудия предлагала указать тип char16_е, я указал но потом выдает ошибку не распознает такой тип. подключал библиотеку stdlib ничего не изменило

Link to comment
Share on other sites

@Vit@lik  вот скажите честно вы хоть один учебник по Си пробовали читать? могу посоветовать ... http://cpp.com.ru/shildt_spr_po_c/index.html
базовые типы данных, структуры, битовые поля и тд

"увеличить размерность" переменой это сменить ее тип

unsigned char = 8бит без знаковое,
следующий по размеру
unsigned int = 16бит без знаковое.

Link to comment
Share on other sites

Posted (edited)

@IMXO  читал Белов А.В. Микроконтроллеры AVR.

54 минуты назад, IMXO сказал:

могу посоветовать ..

Спасибо сохранил закладку
читал Б. Керниган,  и Д. Ритчи немного, но пока еще не до конца. И статьи в интернете. Только читать скучно. Хочу и еще и делать и работать.

54 минуты назад, IMXO сказал:

следующий по размеру
unsigned int = 16бит без знаковое.

Систему типов данных Си знаю, это же основа...
да, пробовал unsigned int в первую очередь,  а когда не сработало уже и даже unsigned  long и другие варианты.
ладно, попробую уже завтра разобраться самостоятельно

Edited by Vit@lik
Link to comment
Share on other sites

Posted (edited)

уже сделал, работает на 16 кнопок. Дело было не d типах данных, а в другом месте.

Edited by Vit@lik
Link to comment
Share on other sites

  • 3 weeks later...

@IMXO
А будет ли лучше если тот код что обозначен красным перенести с таймера в главный цикл? чтобы не нагромождать прерывания
 

Screenshot_1.png

Link to comment
Share on other sites

  • 2 weeks later...

@IMXO Здравствуйте. Мне не хватает портов для кнопок и датчиков (работающих как обычная кнопка).
Думаю над тем чтобы использовать АЦП входы ADC6 и ADC7 у ATmega8. Но они могут работать только как АЦП вход.
Скажите хорошая ли это идея? Как-то раз я заметил что опрос АЦП сильно замедляет работу процессора.

Link to comment
Share on other sites

5 часов назад, Vit@lik сказал:

опрос АЦП сильно замедляет работу процессора

Опрос можно запускать в фоновом режиме,  всего 13 тактов на частоте 50...200kГц .

По АЦП легко идентифицируется 4-6 кнопок .

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Сообщения

    • Только найти подходящие проблематично, за разумную цену. Тут при малых габаритах должна быть достаточная мощность, для сверления сверлом 6 мм. Или обороты под 10000, типа от блендера. На малых оборотах не тянет нормально, на больших в разнос идет. Патрон на такие обороты не рассчитан. Станок прыгать начинает, из за балансировки патрона. Эти моторы случайно попались. И хорошие моторы, на подшипниках качения, не на втулках. Так что количество станков с такими моторами ограничено 6 штуками. Пока что. Может еще попадутся.
    • Короче. 1. Идешь и лезешь в щачло соседу. Если ты мал и немощен - смотри пункт 2. 2. Идешь во все инстанции. Не звонишь! Идешь! И катаешь, катаешь, катаешь заявы. 3. Лень бегать по инстанциям - сорян, чел, ты обычный терпила, который только и может втихушку пытаться решить свои проблемы. Прикинься ветошью, сядь ровно и терпи
    • не 50, без диода она мерцает 100 раз в секунду, ведь 100 полуволн приходится на 1 секунду в 50-ти Герцевой сети.
    • начинай с синтезатора. он потребуется при любом раскладе. будет супергетеродин, прямого преобразования-один фиг нужен..на крайний случай, в качестве генератора для настройки контуров или снятия ачх. писни сюда почту -вышлю проект синтеза: плату, схему, прошивку.  впринципе, при использовании модуля с си5351 и 328 в дипе(аль ардуино, )плата и не нужна-достаточно монтажки. пысы: вместо @ пиши # () или еще какой символ
    • Всем доброго здоровья. Есть такой обмоточный провод пэлшо, это провод кроме лака имеет шелковую изоляцию. Можно ли таким проводом мотать катушку RX.
    • Так уже лучше. Но все равно посмотрите начало темы и поищите там рабочую печатку и схему.

  • Импульсный источник питания от сети, 24В 6А

×
×
  • Create New...