본문 바로가기
Embedded System/AVR

[AVR] 인터럽트 (Interrupt) (3)

by goatlab 2022. 6. 9.
728x90
반응형
SMALL

EICRB (External Interrupt Control Resister B)

 

EICRB 레지스터는 외부 인터럽트 7, 6, 5, 4 동작에 관한 설정을 하는 레지스터이다.

 

https://www.avrfreaks.net/forum/atmega2560-external-interrrupt-rotary-encoder-ky-040-not-working

BIT 7 - Interrupt Sense Control7 1 - 외부 인터럽트 7의 트리거 방식을 설정

BIT 6 - Interrupt Sense Control7 0 - 외부 인터럽트 7의 트리거 방식을 설정

BIT 5 - Interrupt Sense Control6 1 - 외부 인터럽트 6의 트리거 방식을 설정

BIT 4 - Interrupt Sense Control6 0 - 외부 인터럽트 6의 트리거 방식을 설정

BIT 3 - Interrupt Sense Control5 1 - 외부 인터럽트 5의 트리거 방식을 설정

BIT 2 - Interrupt Sense Control5 0 - 외부 인터럽트 5의 트리거 방식을 설정

BIT 1 - Interrupt Sense Control4 1 - 외부 인터럽트 4의 트리거 방식을 설정

​​​​​BIT 0 - Interrupt Sense Control4 0 - 외부 인터럽트 4의 트리거 방식을 설정

 

ISC는 인터럽트를 어떤 시점에서 잡을 것인지를 결정한다. 외부 인터럽트의 변화는 HIGH, LOW의 레벨 변화 및 HIGH LOW  또는 LOW HIGH의 엣지 변화로 입력된다. 이것은 입력의 변화가 인터럽트를 발생하지를 결정하는 비트이다.

 

 번호 ISCn1  ISCn0  설명 
 1  0 INTn 핀의 LOW 레벨 입력이 인터럽트를 트리거
 2  0 1 INTn 핀의 상승 혹은 하강 엣지가 인터럽트를 트리거
 3  1 0 INTn 핀의 Falling Edge가 인터럽트를 비동기적으로 트리거
 4  1 1 INTn 핀의 Rising Edge가 인터럽트를 비동기적으로 트리거

 

EIMSK (External Interrupt Mask Resister)

 

https://scl.engr.uconn.edu/courses/f2015-ece3411/lectures/lec3c.pdf

 

EIMSK 레지스터는 INT7 ~0 을 개별적으로 허용하는 레지스터이다. 세트를 하면, 인터럽트가 허용되고 클리어하면, 인터럽트가 금지된다.  단, EIMSK로 인터럽트를 허용하더라도 SREG의 I 비트가 세트되어야만 허용이 가능하다.

 

이 레지스터에의 비트에 “1”을 쓰고, SREG 레지스터의 I 비트가 “1”로 설정 되어 있으면 외부 인터럽트는 enable된다. EICRA와 EICRB 레지스터의 ISCn1과 ISCn0의 비트를 설정함으로써 에지 또는 레벨 방식을 선택할 수 있다.

 

EIFR (External Interrupt Flag Resister)

 

http://contents.kocw.or.kr/contents4/document/lec/2013/Mokwon/Parksejun/7.pdf

 

EIFR 레지스터는 INT7 ~ 0 핀에 인터럽트 신호가 입력되어 해당 인터럽트가 발생 (트리거)했음을 표시하는 레지스터이다. 이 비트는 인터럽트 처리가 시작되고 나서 서비스 루틴으로 점프하게 되면 클리어된다.

 

INT0~INT7 핀에 에지 또는 논리적인 변화에서 트리거 되어 인터럽트가 요구되면, INTF0~INTF7 비트는 “1”로 셋 된다. SREG 레지스터의 I 비트와 EIMSK 레지스터 의 INT0~INT7 비트가 “1”로 설정되어 있으면, MCU는 해당하는 인터럽트 벡터로 점프한다. 인터럽트 서비스 루틴 (ISR)이 실행되면 INTF0~INTF7 비트는 자동으로 “0”으로 클리어 되고, 이 INTF0~INTF7 비트에 논리적으로 “1”을 쓰면 클리어가 되며 INT0~INT7이 레벨 인터럽트로 설정되면 INTF0~INTF7 비트는 자동으로 클리어 된다.

 

728x90
반응형
LIST