расширить прерывания невозможно?
- Войдите на сайт для отправки комментариев
Ср, 16/11/2011 - 15:40
по даташиту на 32 атмеге три прерывания (int0, int1, int2) если я ничего не путаю. Расширить никак?
по даташиту на 32 атмеге три прерывания (int0, int1, int2) если я ничего не путаю. Расширить никак?
подумал тут - в теории если бы микросхема - демультиплексор слала сигнал со входа на int, а на цйифровые входы - некий "код" сдвига, по которому можно было бы выяснить, какой из входов на микрухне среагировал - было бы рабочая штука. Может такое есть?
А какие состояния вы хотите отслеживать? Если переход на высокий/низкий уровень, то подавайте сигнал от источника прерывания на два пина - на один из INT-пинов и на обычный цифровой вход. После генерации прерывания оббегите все такие цифровые входы и выясните, "кто виноват". Возможно, перед INT-пином придется какую-нибудь логическую микросхему внедрить для защиты от возможных наводок - что-то из разряда "многоИ-НЕ" - но это уже детали реализации...
Что-то вроде:
Нужно именно прерывание, от датчика импульсы считать (скорость, тахометр, пульс потока топлива). Ваш вариант очень интересный! Пойду читать даташит на 7421N
Ну такие датчики, скорее всего, будут давать весьма широкие импульсы (как минимум десятки мкс), которые можно рассматнивать как прерывание по изменению состояния (переход в HIGH, например) и МК вполне успеет отработать задачу выявления источника прерывания.
Да, совсем упустил из виду, что возможна схема без цифровой логики. Для этого необходимо использовать прерывания по изменению состояния пинов - PCINT0 и PCINT1.
Вот тут обсуждается вопрос использования прерываний PCINTx, а тут приведена полная таблица всех возможных на Atmel'ах прерываний.