외부 인터럽트(2)
-
인터럽트의 종류와 동작 원리
인터럽트 외부 인터럽트 전원 이상 인터럽트 - 정전 또는 전원 이상이 있는 경우 발생한다. 기계 착오 인터럽트 - CPU의 기능적인 오류 동작이나 고장 시 발생한다. 외부 신호 인터럽트 - 타이머에 이해 규정 시간을 알리는 경우, 키보드 입력, 외부 장치의 요청이 있는 경우 발생한다. 입출력 인터럽트 - 데이터 오류가 발생한 경우나, 전송이 끝났음을 알릴때 발생한다. 내부 인터럽트 명령어 잘못 인터럽트 - 프로그램에서 명령어를 잘못 사용한 경우 발생한다. 프로그램 검사 인터럽트 - 오버플로, 언더플로, 0으로 나누는 연산, 접근 금지 공간에 접근했을때 발생한다. 소프트웨어 인터럽트 SVC 인터럽트 - 사용자가 Supervisor Call 명령을 써서 의도적으로 호출할 경우 발생한다. 인터럽트 동작 원리 ..
2020.10.09 -
[Atmega128] 2. 외부 인터럽트 External Interrupts Register
외부 인터럽트는 센서의 값 등 외부에서 신호를 입력받아 인터럽트를 발생시킨다. 입력받아야 할 때 자주 쓰이며 초기에 설정해야 하는 게 있다. atmega128 기준으로 외부 인터럽트가 두개 있으며, A와 B로 표기한다. 순서 1. 인터럽트 포트를 input모드로 설정해준다. 2. EICRA or EICRB 레지스터를 설정해준다. 3. EIMSK 레지스터를 설정해준다. 1번의 인터럽트 포트를 input모드로 설정하는 것은 전 포스팅에서 다루었으니 2번과 3번을 알아보자. 1. EICRA..B - External Interrupt Control Register A.. B EICRA에서는 interrupt 0.. 3을, EICRB에서는 4... 7을 설정하게 되어있다. 이 레지스터의 용도는 인터럽트 모드를 조..
2019.08.02