5. MC_E02SM3(ATmega128보드)이용. 외부 인터럽트 LED 테스트1

.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>  //기본적인 인터럽트 헤더
 
ISR(INT0_vect){ //p.446 벡터네임.
 
   unsigned char i; //인터럽트 서비스루틴에서 사용하는 변수
 
   for(i=0x80; i; i>>=1){
      PORTD = ~i;
      _delay_ms(1000);
   }
 
   PORTD = 0B11111111; //0B로 시작하면 binary. 모든 포트를 on
}  //위 Binary를 16진수로 바꾸면 0xFF 인가?????
 
int main(void)
 
{
   DDRD = 0B11111111; //port D를 wirte(출력)으로 사용
   PORTD = 0B11111111; //all port D on
 
   EIMSK = (1 << INT0); //인터럽트0을 사용한다.
 
   EICRA = (1 << ISC01) | (0 << ISC00); //외부인터럽트 A포트 쓴다.
 
   sei(); //인터넷주소 참조. 글로벌 인터럽트 SREG,7 = I(global intruppt)
 
 
   while(1);
 
   return 1;
}
 



설정

트랙백

댓글