5.외부 인터럽트 및 내부 인터럽트
5.1 특징 및 기능
1) 인터럽트는 어떤 처리 중에 그보다 중요한 처리를 위한 처리 방식입니다. 즉 어떤 처리 중에 현재 하던 작업을 잠시 멈추고 중요한 작업을 먼저 한 후 다시 기존에 하던 작업을 수행 합니다. 중요한 작업도 중요도가 낮아지는데 어떤 것이 먼저 처리 될지 선택 되어져야 합니다. 이를 위해 인터럽트 간의 우선순의가 존재 합니다. 인터럽트 처리 중 에도 그보다 높은 우선순위 인터럽트의 경우 높은 순위의 인터럽트부터 먼저 처리를 합니다.
2) 인터럽트 종류
RESET 1개
외부 인터럽트 8개
Timer0 인터럽트 2개
Timer1 인터럽트 5개
Timer2 인터럽트 2개
Timer3 인터럽트 5개
UART0 인터럽트 3개
UART1 인터럽트 3개
ADC 인터럽트 1개
SPI 인터럽트 1개
EEPROM 인터럽트 1개
Analog Comp 인터럽트 1개
I2C 인터럽트 1개
SPM 인터럽트 1개
3) ATmega 128은 인터럽트 우선순위가 H/W 적으로 설정되어 있으며 그 레벨을 조정할 수는 없습니다.
4) 외부 인터럽트
- 외부 인터럽트는 INT0 ~ 7 번의 트리거 동작으로 발생합니다.
- 트리거신호는 LOW 레벨 / 상승 엣지(rising edge)/하강 엣지(falling edge) 방식을 지원합니다.
- I/O의 입/출력 설정에 관계없이 인터럽트가 발생합니다.
5) 외부 인터럽트 레지스터
- SREG (Status Register)
Bit7. I (Global Interrupt Enable) : 모든 인터럽트를 활성화 하도록 설정 합니다.
- EIFR (External Interrupt Flag Register)
각각의 외부 인터럽트 사용여부를 설정합니다. ( 1: 설정)
- EICRA (External Interrupt Control Register A)
외부 인터럽트중 0~ 3번까지의 트리거 방식을 LOW/상승 엣지/하강 엣지 중에 선택합니다.
- EICRB (External Interrupt Control Register B)
외부 인터럽트중 4~ 7번까지의 트리거 방식을 LOW/상승 엣지/하강 엣지 중에 선택합니다.
ISCn1 | ISCn0 | 설명 |
0 | 0 | LOW 레벨 에서 인터럽트 발생 |
0 | 1 | 사용 안함 |
1 | 0 | 하강 엣지(falling edge) 에서 인터럽트 발생 |
1 | 1 | 상승 엣지(rising edge) 에서 인터럽트 발생 |
* 인터럽트 발생 포인트
LOW 레벨 | 하강 엣지(falling edge) | 상승 엣지(rising edge) |
'공부 > AVR' 카테고리의 다른 글
[ATMEGA128] 6. 타이머 카운터 (2) (0) | 2012.11.09 |
---|---|
[ATMEGA128] 6. 타이머 카운터 (1) (0) | 2012.11.09 |
[ATMEGA128] 4. 입출력 I/O (0) | 2012.11.09 |
[ATMEGA128] 3.ATmega128 기본 하드웨어 (0) | 2012.11.09 |
[ATMEGA128] 2.6 통합환경구축 (4) (0) | 2012.11.09 |