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

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

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

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

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

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

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

 
Опции темы
Непрочитано 09.03.2015, 14:14  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от МВА Посмотреть сообщение
Наверное, omercury не досимулировал программу.
Точно!
...но всё равно халтура: если после выключения продолжать удерживать кнопку - светодиод начинает моргать с периодом longkey.
Вложения:
Тип файла: txt Press_but.c.txt (6.0 Кб, 32 просмотров)
Реклама:
omercury вне форума  
Сказали "Спасибо" omercury
prosto_andriy (10.03.2015)
Непрочитано 09.03.2015, 14:22  
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от omercury Посмотреть сообщение
Точно!
...но всё равно халтура: если после выключения продолжать удерживать кнопку - светодиод начинает моргать с периодом longkey.
Поэтому я предпочитаю использовать фронты сигналов. Если смотрели мой проект на асме, то должны были заметить это.

PS. Если добавить признак фронта то мигание устраняется.
Вложения:
Тип файла: rar Press_butt_red.rar (39.6 Кб, 26 просмотров)

Последний раз редактировалось МВА; 09.03.2015 в 15:22.
МВА вне форума  
Сказали "Спасибо" МВА
prosto_andriy (10.03.2015)
Непрочитано 09.03.2015, 21:15  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от МВА Посмотреть сообщение
PS. Если добавить признак фронта то мигание устраняется.
Скорее признак выполненного действия.
omercury вне форума  
Сказали "Спасибо" omercury
prosto_andriy (10.03.2015)
Непрочитано 09.03.2015, 21:18  
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

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

Просмотрел весь код, но так и не понял, где в нем указана частота контроллера???
Разве в AVR Studio не нужно прописывать её вручную через #define F_CPU???
например так
PHP код:
#define F_CPU 9600000 // тактовая частота 9,6 МГц 
Или она задается, где-то в другом месте?

О вроде бы нашел



И ещё мне непонятно, почему не загорается зеленый кружок возле этой строки (см. рис.) И что эта строка означает???
Миниатюры:
Нажмите на изображение для увеличения
Название: avr_build.jpg
Просмотров: 155
Размер:	26.4 Кб
ID:	76590   Нажмите на изображение для увеличения
Название: project_options.jpg
Просмотров: 156
Размер:	52.9 Кб
ID:	76593  

Последний раз редактировалось prosto_andriy; 10.03.2015 в 02:37.
prosto_andriy вне форума  
Непрочитано 10.03.2015, 02:32  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от prosto_andriy Посмотреть сообщение
Или она задается, где-то в другом месте?
Меню Project/Configuration Options (1)
Можно поставить любую - от неё зависит только время, которое Студия будет писать при симуляции.

Сообщение от prosto_andriy Посмотреть сообщение
И ещё мне непонятно, почему не загорается зеленый кружок возле этой строки (см. рис.) И что эта строка означает???
Генерация ассемблерного листинга. Необязательная функция. (2)
Миниатюры:
Нажмите на изображение для увеличения
Название: Image1.jpg
Просмотров: 18
Размер:	75.2 Кб
ID:	76592  
omercury вне форума  
Непрочитано 10.03.2015, 02:37  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Попробовал изменить длительность минимального нажатия кнопки, меняя эту строку
PHP код:
TCCR0B=(0‹‹CS02)|(1‹‹CS01)|(1‹‹CS00);//CLK/64 
на
PHP код:
TCCR0B=(1‹‹CS02)|(0‹‹CS01)|(0‹‹CS00);//CLK/256 
но почему-то ничего не поменялось, а ведь таймер должен по идее считать в 8 раз медленнее, и это значит, что кнопку пришлось бы держать как минимум несколько секунд! но светодиод вкл./выкл. примерно через секунду!
prosto_andriy вне форума  
Непрочитано 10.03.2015, 02:45  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Оно и должно сработать через 1,74 секунды, раньше должно было быть через 0,435 секунды.

Сообщение от prosto_andriy Посмотреть сообщение
в 8 раз медленнее
в 4.
omercury вне форума  
Непрочитано 10.03.2015, 02:52  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Да, Вы правы!

Попробовал изменить делитель даже так
PHP код:
TCCR0B=(1‹‹CS02)|(0‹‹CS01)|(1‹‹CS00);//CLK//1024 
разницы почти нету!!!
Может я что-то неправильно написал? Эта строка действительно включает пред делитель на 1024???
Наверное у меня неправильно выставлена частота контроллера! Хочу понизить её до минимума! Для этого нужно изменить FUSE биты? Я конечно же воспользуюсь калькулятором фьюзов, но не знаю, какую строку выбрать? Самую нижнюю?
Миниатюры:
Нажмите на изображение для увеличения
Название: ATtiny13_fuse_bits.jpg
Просмотров: 153
Размер:	63.0 Кб
ID:	76594  

Последний раз редактировалось prosto_andriy; 10.03.2015 в 03:06.
prosto_andriy вне форума  
Непрочитано 10.03.2015, 03:07  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от prosto_andriy Посмотреть сообщение
разницы почти нету!!!
Очень странно...
Сообщение от prosto_andriy Посмотреть сообщение
Эта строка действительно включает пред делитель на 1024???
именно так.


А Вы её в двух местах программы поменяли?
В принципе в майне инит таймера можно убрать и оставить только в прерывании по внешнему сигналу.
Тогда туда надо перенести строки, относящиеся к TCCR0A, а из майна удалить, оставить только разрешение прерывания по переполнению таймера.
Тогда будет в одном месте.
omercury вне форума  
 

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

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

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, время: 16:21.


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