Вот код.Посмотрите пожалуйста в чем ошибка.Регистры настроенны таким образом,что прерывание срабатывает по нсподаещему фронту на INTO.Как я понимаю нисподающий фронт это изменение сигнала с "лог 1" до "лог 0".Правильно?И собственно код: компилятор WinAvr.Проверял в Proteus'e;
- Код: Выделить всё • Развернуть
 #include <avr/io.h>
 #define F_CPU 8000000UL
 #include <avr/interrupt.h>
 #include <avr/signal.h>
 // External Interrupt 0 service routine
 INTERRUPT(SIG_INTERRUPT0)
 {
 PORTB ^=0xff;
 }
 void main(void)
 {
 PORTB=0x00;
 DDRB=0xFF;
 GICR|=0x40;
 MCUCR=0x02;
 GIFR=0x40;
 sei();
 while (1)
 {
 };
 }



 и не компилиться
 и не компилиться
