Пытаюсь разобраться с прерываниями. Подключил на отладочной плате МК Atmega128, порт А на выход на светодиоды, порт Д на вход и к нему кнопки. Хочу сделать, чтобы по нажатию кнопки светодиоды меняли состояние. Весь день лазил в инете, никак не смог разобраться, почему прерывания не срабатывают Вот код:
Раздел: AVR
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/interrupt.h>
bool Led_ON;
ISR(INT6_vect)
{
Led_ON = true;
}
ISR(INT7_vect)
{
Led_ON = true;
}
int main(void)
{
cli();
DDRA=0xFF;
DDRD=0;
PORTD=0xFF;
EICRB |= (0<<ISC71)|(1<<ISC70)|(0<<ISC61)|(0<<ISC60);
EIMSK |=(1<<INT7) | (1<<INT6);
sei();
while(1)
{
_delay_ms(100);
if(Led_ON) PORTA = 0;
else PORTA = 0b10101010;
}
}
Раздел: AVR