Светодиодные фонари и световые приборы. Всё о светотехнике.
Вернуться   Форум FONAREVKA.RU Лаборатория Разработка и модификация фонарей
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 2192   Ответов в теме 5   Подписчиков на тему 1   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 21.01.2020, 20:50 Автор темы   1
Начинающий
 
Регистрация: 25.01.2012
Последняя активность: 05.01.2024 01:04
Сообщений: 30
Сказал(а) спасибо: 10
Поблагодарили: 4 раз(а) в 4 сообщениях

По умолчанию Помогите с алгоритмом тактовой кнопки.

Подскажите по алгоритму считывания кода с тактовой кнопки. Можно заведомо рабочий кусок кода с комментариями за что отвечают флаги.

Я не совсем придумал, как кодировать произвольный сигнал. Пока использую "11" два бита подряд - длинный, один - короткий. Длину пауз не кодирую. Использую логическое или, запись веду с младшего бита. Помещается 3 длинных в один байт.

Теперь излияние мыслей, можно дальше не читать до постскриптума)))

Решил написать драйвер для фонаря. Мне нужно всего 2 режима. Максимум и "средний". Решил-написал. Может и криво. Алгоритм такой. По замыканию выхода на землю происходит прерывание. Запускаю вачдог на прерывание. Смотрю вход после сработки вачдога если кнопка отжата то средний режим, в случае, что все еще нажата - то запускаю вачдог еще раз, если отжата то максимум. Там фильтры и прочее, что не суть интересно.
Все было отлично, пока я не вспомнил, что на рыбалке использовал минимальный режим, чтобы можно было поменять приманку, при этом фонарь не слепил и батарейки хватало на длительное время. Решил сделать включение минимума из включенного режима, путем введения кода. Не буду описывать свой алгоритм подробно, изначально возникла проблема что надо попадать в такт таймера. В принципе, эта небольшая проблема вылилась в то, что процедура опроса кнопки заняла 140% памяти Тини13 (амтелстудио Си). Сравнив то, что у меня получилось с тем набором функций, что умудряются вместить, почувствовал себя неполноценным.

П.С. О моем уровне программирования. Я понимаю почему, делей нельзя использовать в прошивках контроллера )))

П.П.С. Я бужу контроллер сл. образом: по прерыванию на входе, запускаю вачдог на ресет. Правильно или это кривое решение?
Valery22 вне форума   Ответить с цитированием Вверх
Старый 21.01.2020, 22:30   2
ceramic
Ветеран Фонарёвки
 
Аватар для ceramic
 
Регистрация: 08.10.2011
Последняя активность: 26.03.2024 21:08
Адрес: 哈尔滨
Сообщений: 8022
Сказал(а) спасибо: 934
Поблагодарили: 5193 раз(а) в 2784 сообщениях

По умолчанию Re: Помогите с алгоритмом тактовой кнопки.

Цитата:
Посмотреть сообщение Сообщение от Valery22 :
Подскажите по алгоритму считывания кода с тактовой кнопки.
Их много. На форуме много исходников для тактовой кнопки. Скачайте посмотрите как у других реализовано.

Цитата:
Посмотреть сообщение Сообщение от Valery22 :
Там фильтры и прочее, что не суть интересно.
Как раз программные фильтры и прочее, это очень важно.

Цитата:
Посмотреть сообщение Сообщение от Valery22 :
Я бужу контроллер сл. образом: по прерыванию на входе, запускаю вачдог на ресет. Правильно или это кривое решение?
Я вообще не понимаю в чем идея такого решения.
ceramic вне форума   Ответить с цитированием Вверх
Старый 22.01.2020, 01:39 Автор темы   3
Valery22
Начинающий
 
Регистрация: 25.01.2012
Последняя активность: 05.01.2024 01:04
Сообщений: 30
Сказал(а) спасибо: 10
Поблагодарили: 4 раз(а) в 4 сообщениях

По умолчанию Re: Помогите с алгоритмом тактовой кнопки.

Цитата:
Посмотреть сообщение Сообщение от ceramic :
Их много
В том то и дело.

Цитата:
Посмотреть сообщение Сообщение от ceramic :
программные фильтры и прочее
Пока проблем не возникало.

Цитата:
Посмотреть сообщение Сообщение от ceramic :
не понимаю
Не хотел изначально просыпаться от 4 входа (3 нога). Сейчас попробовал - просыпается без вачдога. Спасибо.

Вроде придумал алгоритм, но он к дребезгу чувствителен. Конденсатор ставить для фильтрации считается плохим тоном?
Valery22 вне форума   Ответить с цитированием Вверх
Старый 22.01.2020, 02:10   4
ceramic
Ветеран Фонарёвки
 
Аватар для ceramic
 
Регистрация: 08.10.2011
Последняя активность: 26.03.2024 21:08
Адрес: 哈尔滨
Сообщений: 8022
Сказал(а) спасибо: 934
Поблагодарили: 5193 раз(а) в 2784 сообщениях

По умолчанию Re: Помогите с алгоритмом тактовой кнопки.

Цитата:
Посмотреть сообщение Сообщение от Valery22 :
Конденсатор ставить для фильтрации считается плохим тоном?
Если писать, то лучше с организацией защиты от дребезга.

Это если уже в готовое изделие, то деваться некуда. И лучше не просто кондер параллельно входу, а и резистор последовательно с кнопкой. Разряжая даже малоемкий кондер просто кнопкой, ее контактирующие поверхности будут потихоньку разрушаться.
ceramic вне форума   Ответить с цитированием Вверх
Старый 22.01.2020, 10:15 Автор темы   5
Valery22
Начинающий
 
Регистрация: 25.01.2012
Последняя активность: 05.01.2024 01:04
Сообщений: 30
Сказал(а) спасибо: 10
Поблагодарили: 4 раз(а) в 4 сообщениях

По умолчанию Re: Помогите с алгоритмом тактовой кнопки.

Вот до такого алгоритма уменьшил. При возникновении помехи можем потерять нажатие или паузу, т.к. нет усреднения, иначе получается слишком много кода. Дребезг отбрасывается выдержкой времени после первого перехода.
Кстати, сколько по времени сделать короткое нажатие? 50 мС нормально?
Миниатюры
Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 224
Размер:	181.5 Кб
ID:	228931
Valery22 вне форума   Ответить с цитированием Вверх
Старый 19.02.2020, 14:57 Автор темы   6
Valery22
Начинающий
 
Регистрация: 25.01.2012
Последняя активность: 05.01.2024 01:04
Сообщений: 30
Сказал(а) спасибо: 10
Поблагодарили: 4 раз(а) в 4 сообщениях

По умолчанию Re: Помогите с алгоритмом тактовой кнопки.

А ларчик просто открывался. Те прошивки, функционал которых я хотел впихнуть в тини 13 писались под тини 85.
Valery22 вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.08586 секунды с 17 запросами