| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Atmega 8535 - сорная отработка прерывания |
| Автор: Serbis 20.6.2011, 17:25 | ||
В общем столкнулся со странной проблемой. По входу INT0 и INT1 имеются прерывания по нисходящему фронту. Инициализация как всегда -
Обработчики прерываний идут в самом конце программы. Все работает нормально, прерывания срабатывают в нужный момент, если бы не одно но - в самом начале работы программы происходит сампроизвольное срабатывание прерывания. В начале думал что дело в месте инициализации портов, после инициализации прерываний. Переставил, по логике вещей прерывание не может свершиться раньше того пока не будут настроенны порты, а получается совсем наооборот. Мало того, имеется эффект залипания сигнала, при попадение нисходщего фронта на выводы с первого раза прерывание не срабатывает только со второго. А теперь суть, программа тестируется в ISIS Proteus 7, так как у меня сейчас нет возможности зашить ее в реальный камень. Хотелось бы понять - если это глюк протеуса, то и хрен с ним, больших проблем он мне пока не создает, а если виноват не он, то найти решение проблемы. |
| Автор: Mazzi 20.6.2011, 19:41 |
| Я всегда после инициализации и перед глобальным разрешением прерываний на всякий случай сбрасываю флажки всех прерываний. Протеусом не пользуюсь. |