8051/PIC > 인터럽트 우선순위

TODAY635 TOTAL608,636
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 8051/PIC | DT-516 강좌 | 인터럽트 우선순위

페이지 정보

작성자 키트 작성일2017-08-23 14:27 조회295회 댓글0건

본문

많은 사람들이 인터럽트 우선 순위에 신경을 많이 쓰지만

경험상 우선 순위가 중요한 경우를 수십년 동안 느껴 본적이 없습니다.

 

인터럽트는 말그대로 순서없이 발생 하는 것입니다.

A가 먼저 수행 되든 B가 수행 되든

빠뜨리지 않고 실행 되기만 하면 대부분 문제 생기지 않습니다.

 

8051은  인터럽트 레벨을 지정 할 수 있다고 먼저 글에서 적었습니다.

그것도 인터럽트 실행을 빠뜨리지 않기 위한 방법일 뿐입니다.

 

 

AVR은 8051같은 인터럽트 레벨이 없습니다.

모두 동급 레벨이지만 인터럽트 안에서 다른 인터럽트가 걸리면 모두 실행 됩니다.

AVR의 우선 순위를 생각 해 볼까요?

 

A가 우선 순위가 높고 B가 낮다고 해보죠

 

동시에 인터럽트가 걸리면 A가 먼저 실행 됩니다.

A가 인터럽트 수행 하다가

B인터럽트도 걸렸으므로 A도중에 B가 실행을 마치고나서

A 인터럽트가 실행을 마칩니다.

 

인터럽트 시작은 A가 먼저 했지만

실행을 먼저 마친것은 B입니다.

우선순위가 의미가 있을까요??

 

A가 먼저 실행을 마칠 수 있는 방법은

A 인터럽트 안에서 B인터럽트가 실행 되지 못 하게 인터럽트 디저블 시키는 방법 뿐입니다.

 

A가 먼저 실행 되든 B가 먼저 실행 되든 대부분의 경우에 문제 안생깁니다.

(만약 문제가 생긴다면, 문제가 생기지 않도록 소스를 작성 해야겠죠, 그런 경우를 본적이 없으므로 잘 모르겠군요)

댓글 0

조회수 295

등록된 댓글이 없습니다.

8051/PICHOME > 8051/PIC > 전체 목록

게시물 검색

2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기