728x90
반응형
외부 인터럽트는 INT0~INT7 까지 8개의 외부핀으로 입력되는 신호에 의해 발생된다
INT-~INT3 까지는 EICRA 라는 외부 인터럽트 제어 레지스터의 입력형태를 결정하고
INT4~INT7까지는 EICRB 라는 외부 인터럽트 제어 레지스터의 입력형태를 결정한다
우리가 사용할 인터럽트를 set 해주기 위해서는 7번비트만 1로 수정해 주면 된다
저기 동그라미부분을 엣지라고 부른다
왼쪽부분은 상승엣지
상승엣지라고 부르는 이유는 0에서 5로 빠꾸어 질때 상승하는 모서리가 생기기 때문에 상승의 positive 모서리의 edge 를 합쳐서
영어로는 POSITIVE EDGE 라 부른다
오른쪽 부분은 하강엣지
하강엣지라 부르는 이유는 5에서 0으로 바꾸어 질때 하강하는 모서리가 생기기 때문에 하강의 negative
모서리의 edge 를 합쳐서
영어로는 NEGATIVE EDGE 라 부른다
운영체제에 따라 한글로는 상승엣지라 부르나 영어로는
rising edge 라고도 부른다
-
이런식으로 표현한다
여기서 ISC31 ISC30 처럼 2개의 포트가 1씩만 차이가 나고 있는데
그것의 의미는 둘이 한팀이란 애기이다
여기서 ISCn1 ISCn0
이 둘다 영일때에는 LOW 일때 인터럽트로 간주하고
둘다 1 일때에는 상승엣지일때
그리고 1 0 일때는 하강 엣지일때
마지막으로 0 1 일때는 변화가 생성되면 인터럽트로 간주 하겠다는 뜻이다
"" 요 사이에 있는것은 어셈블 언어이다
어셈블리 명령어를 사용하면 SREG의 레지스터를 손대지 않고 인터럽트를 활성화 시킬수 있다
cli 는 인터럽터를 0으로 초기화해주고
sei는 7번 비트를 1 로 변환시켜준다
그리고 sleep은 cpu 를 자게한다
위에 #define 한 것은 요쪽에서 가져온 것이라 한다
sleep 은 여기서 가져온다
728x90
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
2014.05.14 업무일지 출석번호 5번 김상엽 (9) | 2014.05.15 |
---|---|
2014 / 5 / 13 화요일 출석번호3번 김대희 (12) | 2014.05.13 |
2014년 5월 12일 업무일지 고한솔 [출석번호 2번] (12) | 2014.05.12 |
Turbo c에서 한글 깨짐 해결하기 (1) | 2014.05.12 |
2014년 5월 8일 업무일지 허수웅 [출석번호 22번] (15) | 2014.05.08 |
C 공부를 더 하고 싶은 사람들을 위한 연습 문제 (0) | 2014.05.08 |
개인 포트폴리오 가이드 문서 및 프로그램 (1) | 2014.05.08 |
[업무일지]2014년05월07일 (15) | 2014.05.08 |