#define F_CPU 8000000UL
#include <avr/io.h> /* Include AVR std. library file */
#include <util/delay.h> /* Include inbuilt defined Delay header file */
#include <avr/interrupt.h>
void int5_init(void)
{
// Make sure you have connected a SW between PE1 (External Interrupt) and GND.
cli(); // Clear all the interrupts
PORTE |= (1 << PE5); // External SW PullUp
DDRE &= ~(1 << PE5); // External Interrupt Sensing Port(PE3) Input Port
EICRB |= (1<<ISC51); // External Interrupt 5, Falling Edge Asynchronously Interrupt
EIMSK |= (1 << INT5);; // External Interrupt 5 enable
sei();
}
int main()
{
int i;
DDRK = 0xFF;
PORTK = 0;
int5_init(); // Initialization of INT5 Interrupt
while(1) {
}
}
ISR (INT5_vect)
{
sei();
PORTE |= (1 << PE5);
/*int5_init();*/
PORTK = ~PORTK;
EIMSK |= (1 << INT5); // External Interrupt 0 enable
}