[atmega128]마이크로프로세서 인터럽트 폴링결과보고서
- 최초 등록일
- 2020.01.01
- 최종 저작일
- 2020.01
- 12페이지/ 한컴오피스
- 가격 1,500원
* 본 문서(hwp)가 작성된 한글 프로그램 버전보다 낮은 한글 프로그램에서 열람할 경우 문서가 올바르게 표시되지 않을 수 있습니다.
이 경우에는 최신패치가 되어 있는 2010 이상 버전이나 한글뷰어에서 확인해 주시기 바랍니다.
소개글
"[atmega128]마이크로프로세서 인터럽트 폴링결과보고서"에 대한 내용입니다.
목차
1. Polling & Interrupt
2. 실습 코드
3. 과제 코드
4. 회로도
5. Chattering 현상
본문내용
-Polling
-폴링이란 하나의 장치(또는 프로그램)이 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다. 여기서 폴링의 문제점은 폴링의 주기가 서버의 성능에 부담이 가며 주기가 길어지면 실시간성이 떨어지게 된다.
-Interrupt
-인터럽트는 프로그램이 수행되고 있는 동안에 어떤 조건이 발생하여 수행 중인 프로그램을 일시적으로 중지시키게 만드는 조건이나 사건의 발생을 말한다. 인터럽트가 발생할 때 주프로그램은 일시적으로 수행을 정지하고 ISR(인터럽트 서비스 루틴)로 분기한다. 즉, ISR이 실행되고 연산이 수행된 후에 ISR 프로그램이 종료되면 주프로그램의 중지된 부분부터 다시 계속된다. 인터럽트의 종료는 인터럽트로부터의 복귀 명령에 의해 수행된다. 인터럽트와 폴링의 차이는 폴링은 데이터가 쭉 들어오는 동안 순서대로 처리를 해주는데 비상사태나 급하게 처리해야 할 일이 생기면 신속하게 대응을 해야하는데 순차적으로 작업을 처리하다 보면 타이밍을 놓치는 경우가 발생하게 된다. 하지만 인터럽트는 주프로그램에서 비동기적으로 발생하는 사건에 대한 반응을 하는것이라 즉각 반응이 일어난다. 하지만 ISR의 코드가 길어지게되면 원래 수행하던 작업이 딜레이가 될 수있고 인터럽트가 쌓기에되면 인터럽트 동작이 원래 복잡한데 그것이 쌓이게 되면 오류를 범할 수 있기 때문에 인터럽트 또한 단점이 있게된다.
-인터럽트가 발생하면 인터럽트에 해당하는 플래그 비트가 세트된다. 이 플래그 비트에 의해 인터럽트가 요청되며, 전체 인터럽트 허가 비트 I와 해당 인터럽트 허가 비트가 모두 1로 설정되어 있으면, 인터럽트가 요청되어 현재 수행하던 작업을 스택메모리에 저장 후 해당 인터럽트 벡터의 주소를 찾아가 인터럽트 서비스 루틴(ISR)을 수행하게 된다.
참고 자료
없음