Здравствуйте. Проблема с запуском внешнего прерывания. Вроде все биты установлены:
1 в GICR на соответствующей позиции, в SREG тоже все нормально, т.к. остальные прерывания (уарт, например, работают). Проверял память - вектор прерывания заполняется правильно. Когда опрашиваю пин внешнего прерывания вручную - все нормально, состояние меняется, как надо. Может быть кто-то уже сталкивался с подобной проблемой? Заранее спасибо.
попробуйте в симуляторе VMLAB посмотреть.
Спасибо, а он позволяет отлаживать в окужении?
beer_warrior
Jun 23 2006, 07:58
Чем ведется вход? Дребезг? Затянутые фронты? Почему срабатывает прерывание (фронт, уровень)?
Код в студию! Эктрасенсов нет здесь
Цитата(Jcs @ Jun 23 2006, 11:33)

Спасибо, а он позволяет отлаживать в окужении?
Да. Но наверно вам не нужно создаватьвсе окружение - вам же нужно проверить как работает это прерывание, точней почему не работает. Если нужно все окружение создать то PROTEUS 6.7sp3 используйте.
И проверьте правильно ли у вас настроено событие внешнего прервания. Тут покажите.
Используется событие по умолчанию - то есть нулевой уровень должен инициировать. Пробовал и по переднему фронту - все то же самое.
А в PINx ноль есть ? Если есть и прерывание разрешено и бит7 в SREG установлен, а флага все нет то наверно нужно поменять МК на исправный.
Цитата(andk @ Jun 23 2006, 12:10)

Код в студию! Эктрасенсов нет здесь

2
JcsПриведите код.
Без кода что-то дельное посоветовать неполучится.
Запустил симулятор - сразу нашлась ошибка. В одной из статических переменных класса вместо GICR |= поставил =, соответственно затер все флаги. Спасибо за помощь.
Shurmas
Jun 28 2006, 06:21
Цитата(Jcs @ Jun 28 2006, 10:01)

Запустил симулятор - сразу нашлась ошибка.
В одной из статических переменных класса вместо GICR |= поставил =, соответственно затер все флаги.
Спасибо за помощь.
Вам первый совет дали использовать VMLAB.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.