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

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

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

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

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

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

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

 
Опции темы
Непрочитано 25.07.2010, 20:23  
CR8
Частый гость
 
Регистрация: 17.05.2010
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
CR8 на пути к лучшему
По умолчанию Помогите с прерыванием/таймером у AVR

суть проблемы, микроконтроллер ATmega128, прерывание INT7 используется для включения подсветки (т.е. к выводу INT7 подключена кнопка, а в прерывании решается в каком состоянии сейчас подсветка и происходит переключение на противоположное состояние). Есть также счеткик Timer1, который работает в режиме "Fast PWM, 8-bit". Если из кода исключить инициализацию режима рабты таймера или просто выключить его, то подсветка включается отлично, когда таймер включен (к выводу ШИМ даже можно ничего не подключать), то подсветка при нажатии кнопки ведет себя непредсказуемо, если кто-то сталкивался с таким подскажите решение.
Реклама:
CR8 вне форума  
Непрочитано 25.07.2010, 21:23  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: помогите с прерыванием/таймером у авр

Сообщение от CR8 Посмотреть сообщение
суть проблемы, микроконтроллер ATmega128, прерывание INT7 используется для включения подсветки (т.е. к выводу INT7 подключена кнопка, а в прерывании решается в каком состоянии сейчас подсветка и происходит переключение на противоположное состояние). Есть также счеткик Timer1, который работает в режиме "Fast PWM, 8-bit". Если из кода исключить инициализацию режима рабты таймера или просто выключить его, то подсветка включается отлично, когда таймер включен (к выводу ШИМ даже можно ничего не подключать), то подсветка при нажатии кнопки ведет себя непредсказуемо, если кто-то сталкивался с таким подскажите решение.
Ну, здесь бы неплохо посмотреть на программу. Кнопка - и прерывание - не есть хорошо, так как у любой кнопки есть дребезг, и при скорострельности МК на одно нажатие у вас может быть сотня прерываний.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 25.07.2010, 23:42  
CR8
Частый гость
 
Регистрация: 17.05.2010
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
CR8 на пути к лучшему
По умолчанию Re: Помогите с прерыванием/таймером у AVR

в том то и суть, что с отключенным таймером все работает четко. Если бы был виноват дребезг, то ему включение таймера было бы по боку. (против дребезга на кнопке висит конденсатор 0.1 мкФ и программная задержка после обработки в 200 мс)
CR8 вне форума  
Непрочитано 26.07.2010, 00:09  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Помогите с прерыванием/таймером у AVR

Выкладывание проекта в PROTEUS сильно ускоряет помощь !

Попробуйте ...
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 26.07.2010, 00:21  
CR8
Частый гость
 
Регистрация: 17.05.2010
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
CR8 на пути к лучшему
По умолчанию Re: Помогите с прерыванием/таймером у AVR

Сообщение от avr123-nm-ru Посмотреть сообщение
Выкладывание проекта в PROTEUS сильно ускоряет помощь !
к сожалению проекта в протеусе у меня нет, частично проблема решена: сейчас прерывание срабатывает по низкому уровню, раньше стояло срабатывание по спадающему фронту. В даташите пишут, что прерыванию INT7 нужен для работы в режиме "по спадающему фронту" тактирующий генератор, для режима "по низкому уровню" генератор не нужен, почему-то я думал(да и сейчас думаю), что этот генератор подключается без моей помощи. В даташите я не нашел где и как установить этот генератор, просто упоминается, что он должен быть. Возможно кто-то знает где искать этот генератор?
CR8 вне форума  
Непрочитано 26.07.2010, 00:35  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Помогите с прерыванием/таймером у AVR

Попробуйте на русском описание мега128 почитать на 2 стр моего курса есть.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 26.07.2010, 00:48  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Помогите с прерыванием/таймером у AVR

Сообщение от CR8 Посмотреть сообщение
в том то и суть, что с отключенным таймером все работает четко. Если бы был виноват дребезг, то ему включение таймера было бы по боку. (против дребезга на кнопке висит конденсатор 0.1 мкФ и программная задержка после обработки в 200 мс)
Конденсатор на пине, который должен вызывать прерывание? IMHO, это не дело. Прграммная задержка - где? В прерывании, что ли? Совсем не дело.

Вам же говорят - покажите программу. Шаманы и ясновидящие в отпуске.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 26.07.2010, 14:24  
ValBag
Прописка
 
Аватар для ValBag
 
Регистрация: 17.11.2007
Сообщений: 112
Сказал спасибо: 19
Сказали Спасибо 14 раз(а) в 9 сообщении(ях)
ValBag на пути к лучшему
По умолчанию Re: Помогите с прерыванием/таймером у AVR

Сообщение от CR8 Посмотреть сообщение
В даташите пишут, что прерыванию INT7 нужен для работы в режиме "по спадающему фронту" тактирующий генератор, для режима "по низкому уровню" генератор не нужен, почему-то я думал(да и сейчас думаю), что этот генератор подключается без моей помощи. В даташите я не нашел где и как установить этот генератор, просто упоминается, что он должен быть. Возможно кто-то знает где искать этот генератор?
Искать его не надо - это тактовый генератор, т. е. для распознавания прерываний INT7...0 по фронтам, необходим тактовый сигнал, который выключается в некоторых спящих режимах и эти прерывания при этом не будут работать.
А ваша "катавасия" - в чем-то другом. Чтобы помочь - мало данных.

Последний раз редактировалось ValBag; 26.07.2010 в 14:42.
ValBag вне форума  
Непрочитано 26.07.2010, 16:55  
MilkiWay
Временная регистрация
 
Регистрация: 25.07.2010
Сообщений: 94
Сказал спасибо: 12
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
MilkiWay на пути к лучшему
По умолчанию Re: Помогите с прерыванием/таймером у AVR

Опрашивайте состояние входа в прерывании таймера (например 100 - 1000 Гц). Для подавления дребезга, выделите переменную-байт и инкриминируйте её, когда зафиксированно нажатие. При определении отсутствия нажатия, сбрасывайте переменную в ноль. Таким образом достаточно легко зафиксировать нажатие кнопки, просто проверяя переменную. Если она достигла некоторого значения, значит кнопка нажата и это не дребезг.
MilkiWay вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, создать АОН на AVR ArtUrl1986 Микроконтроллеры, АЦП, память и т.д 23 30.04.2016 18:48
Помогите с avr igonzo Микроконтроллеры, АЦП, память и т.д 45 09.10.2010 23:35
Помогите с прошивкой в AVR studio _grey_ Микроконтроллеры, АЦП, память и т.д 5 26.03.2010 21:59
USB программатор AVR помогите! sorokin.vasiliy Микроконтроллеры, АЦП, память и т.д 13 06.03.2010 16:01
Помогите разобраться с кодом Micro C for AVR deeman30rus Электроника - это просто 7 09.02.2010 11:46


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


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