컴퓨터에 있는 하드웨어가 시스템 버스를 통해 CPU에 보내는 신호이다. CPU가 인터럽트 되면 하던 일을 저장하고 특정 위치로 실행을 옮긴다. 이 위치에는 서비스 루틴의 시작 주소가 있고, 이를 통해 서비스 루틴이 실행된다.
여기서 INT4_vect는 해당 인터럽트 벡터에 연결된 ISR의 이름이다. AVR 마이크로컨트롤러에서는 각 인터럽트에 대해 하나의 ISR이 할당된다. 이러한 ISR들은 인터럽트 벡터에 연결되어 있으며, 이를 통해 해당 인터럽트가 발생했을 때 실행되어야 하는 코드를 정의한다.
// 이 함수는 INT4 핀에 인터럽트가 발생했을 때 실행될 ISR이다.
ISR(INT4_vect){
PORTD=0xff; // PORTD를 출력
_delay_ms(1000); // 1초동안 LED 켜진 상태로 유지
}

INT4 벡터는 0x000A를 가지고 있다. 여기서 ISR이 시작된다.
DDRE &= ~(1<<4); // DDRE의 4번 포트만 입력으로 설정
DDRE &= ~(1<<4);는 DDRE 레지스터의 4번 비트를 클리어하여 INT4 핀을 입력 모드로 설정한다.
EICRB = 0x02; // INT4번 인터럽트를 하강엣지에서 트리거되도록 설정
EIMSK = 0x10; // INT4번 인터럽트를 활성화
INT4번 인터럽트를 하강엣지에서 트리거 되기위해 EICRB (INT4~7번) 차트를 참고한다.


sei(); // 전역 인터럽트 활성화