| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > [avr] Прерывание |
| Автор: Serg_vnovg 5.3.2003, 13:39 |
| Процессор AVR AT90S8535 Внешнее прерывание INTO Через компаратор заведен сигнал промышленной сети 50 герц. В прерывании выполняется единственная команда PORTC ^=1. Ожидал увидеть меандр частотой 25Гц. При просмотре осциллографом переход из 0 в1 (запрограмирован по положительному фронту) возникает несколько прерываний. Подключеный к этому входу тригер 561 ТМ2 считает нормально. Может быть кто-нибудь подскажет , что делать? |
| Автор: laptev 5.3.2003, 20:59 |
| А прерывания возникают несколько подряд? Если так, то возможен "звон" компаратора. Это легко проверить - повесить емкость 1000 пф на вход Int0. |
| Автор: Crait 7.3.2003, 05:37 |
| Еще это можно лечить введением ПОС (создать гистерезис) - подать часть сигнала с выхода компаратора на неинвертирующий вход. |
| Автор: Serg_vnovg 7.3.2003, 13:04 |
| Написал тестовую программу для исследования этого вопроса и выяснил следующее. Прерывание возникает одно!! Неправильно срабатывает команда PORTC ^= 1. Команды PORTC |= 1 и PORTC &=0xFE срабатывают как надо и показывают 1 прерывание. В этом-же прерывании PORTC ^| =2 точно также колбасит? Спасибо за отклики! |