Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Atmega 8535 - сорная отработка прерывания 
:(
    Опции темы
Serbis
Дата 20.6.2011, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 9.12.2007

Репутация: нет
Всего: нет



В общем столкнулся со странной проблемой. По входу INT0 и INT1 имеются прерывания по нисходящему фронту. Инициализация как всегда - 
Код

DDRC = 0xFF;                          //Порт C - выход
PORTC = 0xFF;                         //Весь порт C лог. 1
MCUCR = 0b00000000;
GICR = 0b11000000;
sei();                                //Глобальное разрешение прерываний

Обработчики прерываний идут в самом конце программы. Все работает нормально, прерывания срабатывают в нужный момент, если бы не одно но - в самом начале работы программы происходит сампроизвольное срабатывание прерывания. В начале думал что дело в месте инициализации портов, после инициализации прерываний. Переставил, по логике вещей прерывание не может свершиться раньше того пока не будут настроенны порты, а получается совсем наооборот. Мало того, имеется эффект залипания сигнала, при попадение нисходщего фронта на выводы с первого раза прерывание не срабатывает только со второго.

А теперь суть, программа тестируется в ISIS Proteus 7, так как у меня сейчас нет возможности зашить ее в реальный камень. Хотелось бы понять - если это глюк протеуса, то и хрен с ним, больших проблем он мне пока не создает, а если виноват не он, то найти решение проблемы.
PM MAIL   Вверх
Mazzi
Дата 20.6.2011, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



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


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.