Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 24.02.2015, 01:42  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от alvadep Посмотреть сообщение
Да вопрошающий, наверно, и сам уже разобрался в чем дело, как-никак, смышленый малый.
Наверно кое-какой прогресс уже есть - потому что компилятор выдает уже не три варнинга, а только два и причем оба они указывают на вызов одной и той же функции
Вот отредактированный код, кому не сложно, подскажите пожалуйста, что в нем неправильно!
Вложения:
Тип файла: txt LED_backlight_on_off.txt (4.9 Кб, 45 просмотров)
Реклама:
prosto_andriy вне форума  
Непрочитано 24.02.2015, 03:35  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от prosto_andriy Посмотреть сообщение
Но наверно у нее памяти для этого не хватит.
Сейчас используется меньше половины.

Сообщение от alvadep Посмотреть сообщение
Я валяюсь до чего дошел прогресс, уже без СиСИ ни куда.
Ох, и влетит же Вам от STM-а !!
Ну да, здесь достаточно МК вообще без памяти, но такие, кажется, все сняты с производства.

Сообщение от МВА Посмотреть сообщение
Есть проблема: не может контроллер из режима Power Down начать проверять длительность нажатия кнопки. Только прерывание по низкому уровню и достаточное по продолжительности.
Нету проблемы.
14CK + 64 ms в самом грустном случае.

Сообщение от МВА Посмотреть сообщение
Чтоб усыпить - можно сделать все, что хочешь.
Усыпляется он там, кстати, криво - нет задержки на отпускание кнопки. Собственно это и имел в виду, когда спрашивал о засыпании.
Сообщение от МВА Посмотреть сообщение
А разбудить - я не знаю.
Нет ничего проще - при входе в прерывание по INT0, тут же его отключить и дальше обрабатывать нажатие как обычно. Перед входом в режим сна снова его включить. При таком подходе можно уже не мониторить постоянно кнопку по таймеру, а просто использовать задержки на подавление дребезга.
omercury вне форума  
Непрочитано 24.02.2015, 06:07  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от omercury Посмотреть сообщение
Строка "led_on = 1;" ничего не делает, так как вывод подключен к ШИМ таймера.
Переписал код снова , но компилятор опять говорит, что функция BACKLIGHT_on_off; лишняя
У меня такое подозрение, что это из-за ШИМ?
Подскажите пожалуйста, отключен ли он в этом коде?
Других ошибок там вроде бы нету! Код по-мойму должен работать, но он не работает
Вложения:
Тип файла: txt LED_on_off.txt (4.1 Кб, 54 просмотров)
prosto_andriy вне форума  
Непрочитано 24.02.2015, 09:43  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от prosto_andriy Посмотреть сообщение
Наверно кое-какой прогресс уже есть - потому что компилятор выдает уже не три варнинга, а только два
Вы, конечно, тоже смышленый парень, но я имел ввиду школьников(а).

Сообщение от omercury Посмотреть сообщение
Ох, и влетит же Вам от STM-а !!
Тсссс. Не будем говорить о затонувших пароходах.

Последний раз редактировалось alvadep; 24.02.2015 в 09:56.
alvadep вне форума  
Непрочитано 24.02.2015, 10:09  
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от omercury Посмотреть сообщение
Нет ничего проще - при входе в прерывание по INT0, тут же его отключить и дальше обрабатывать нажатие как обычно. Перед входом в режим сна снова его включить. При таком подходе можно уже не мониторить постоянно кнопку по таймеру, а просто использовать задержки на подавление дребезга.

Всем доброго времени суток.
Спасибо, вчера вечером перед сном я подумал о том же. Но немного не так.
Разбудить - это первое нажатие, а потом в прерывании, и это везде было, запрещаем прерывания по INT0 и сразу проверяем второе нажатие. Если нет, то опять спать, предварительно разрешив INT0.
И у меня вопрос к Prosto Andriy. Зачем такая большая частота? это приводит к тому, что требуется вводить дополнительные делители и оперировать, для задержек, с большими числами типа int. Я понимаю, если бы это были часы, или какой-то измеритель, где надо отсчитывать точные интервалы времени или, на худой конец, асинхронная передача данных. А для светодиода с головой хватит 1 Мгц., по умолчанию. Тогда и программа меньше памяти будет занимать.

Последний раз редактировалось МВА; 24.02.2015 в 13:14.
МВА вне форума  
Непрочитано 24.02.2015, 10:46  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от МВА Посмотреть сообщение
Зачем такая большая частота?
Заяц увидел верблюда. Глаза вытаращил и кричит: "У тебя же шея кривая!"
А верблюд говорит "А ЧТО У МЕНЯ ПРЯМОЕ?!!"
makakus вне форума  
Непрочитано 24.02.2015, 21:08  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Насколько я знаю ATtiny13 может работать даже на 128 KHz!
Для того, чтобы включать/выключать подсветку разумеется бОльшей частоты и не нужно, а вот чтобы регулировать яркость с помощью ШИМ, я честно говоря не знаю

P.S.: Неужели никто не поможет мне "довести до ума" этот код? Уже несколько раз исправлял - всё равно нормально не работает! Помогите пожалуйста!
prosto_andriy вне форума  
Непрочитано 25.02.2015, 04:31  
Proshha
Временная регистрация
 
Регистрация: 23.07.2007
Сообщений: 42
Сказал спасибо: 3
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
Proshha на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

посмотрите. очевидные ошибки я прокоментировал. Исправляйте ))
Вложения:
Тип файла: txt LED_on_off_er.txt (4.5 Кб, 32 просмотров)
Proshha вне форума  
Сказали "Спасибо" Proshha
prosto_andriy (25.02.2015)
Непрочитано 25.02.2015, 04:58  
Proshha
Временная регистрация
 
Регистрация: 23.07.2007
Сообщений: 42
Сказал спасибо: 3
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
Proshha на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

МВА, всё Вы правильно и красиво излагаете. И с арифметикой всё хорошо.
Только изначально допускаете маааленькое упрощение, которое в результате сводит на нет всю арифметику.
Поясню на таких близких Вашему сердцу лампочках ))
Допустим, Вы управляете лампочкой мощностью в 100 ватт. А для управления используете устройство, которое само потребляет 50 ватт. Причём - независимо от того сколько потребляет лампочка в текущем режиме и светит ли она вообще.

И получается, что даже если КПД управления 100%, мы всё равно расходуем от 150 до 50 ватт. Т.е. общий КПД системы регулятор+лампочка не превышает 50% на малых мощностях. И ухудшается по мере увеличения мощности в лампочке, приобретая отрицательное значение на мощностях в лампочке выше 50 ватт.

Создав сами себе трудности в виде отрицательного КПД, мы начинаем их героически преодолевать: ищем способы экономии, погружая управляющий элемент в сон и т.д.
Proshha вне форума  
Непрочитано 25.02.2015, 08:14  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от Proshha Посмотреть сообщение
посмотрите. очевидные ошибки я прокоментировал. Исправляйте ))
Большое спасибо, но я так и не понял нужно ли ещё раз вставлять в код строку
PHP код:
systemClock++; 
Возможно Вы не заметили, но она там уже есть:
PHP код:
// Time 0 overflow interrupt service routine
// раз в 8 mS
interrupt [TIM0_OVFvoid Time0_ovf_isr(void)

    
KeyEXE 1;          //Разрешение опроса кнопок 
    
timCount++;
    if (
timCount › timDiv
    {
        
timCount=0systemClock++;
    }

prosto_andriy вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
Как правильно отследить импульс sdsrem Микроконтроллеры, АЦП, память и т.д 8 17.08.2010 21:28
[Решено] Третье Послание Человечеству lelkanet Отвлекитесь, эмбеддеры! 201 06.01.2010 00:33


Часовой пояс GMT +4, время: 18:21.


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