본문/내용
1. ATmega 인터럽트 개요
ATmega는 AVR 마이크로컨트롤러 계열로서 다양한 인터럽트(interrupt) 기능을 제공한다. 인터럽트는 특정 이벤트가 발생할 때 CPU의 정상 수행 흐름을 일시 정지하고, 즉시 지정된 인터럽트 서비스 루틴(ISR)을 호출하도록 하는 메커니즘으로, 실시간 응답성을 향상시키는 핵심 기술이다. ATmega89, ATmega328 등 여러 모델은 External Interrupt, Pin Change Interrupt, Timer/Counter Interrupt 등 여러 인터럽트를 내장하고 있다. 이 중 External Interrupt는 외부 신호의 변화에 반응하며, 예를 들어 센서로부터의 신호 감지에 이용할 수 있다. Timer/Counter Interrupt는 일정 시간 간격마다 자동으로 발생하여 주기적인 작업 수행에 적합하다. ATmega의 인터럽트 구조는 플래그 비트와 인터럽트 Enable 비트로 구성되며, 해당 비트가 활성화되어 있을 때만 인터럽트 요청이 처리된다. 인터럽트 우선순위는 ATmega에서는 고정적이기보다는 하드웨어적 안전 구성이며, 여러 인터럽트 발생 시 우선순위가 높은 이벤트가 먼저 처리된다. 이로 인해, 무작위 이벤트 발생 시에도 중요한 작업을 신속하게 수행할 수 있다. 예를 들어, 8비트 AVR 기…