ATMEGA 128A 인터럽트
2023. 4. 21. 19:42ㆍATMEGA -간단한 실험-
외부인터럽트
PPT 참고 ( 0일때 X 1일때 O, HIGH LOW 이런거만 보면 됨)
- SREG - 7비트 1로 만들기
- EIMSK - EICRA or EICRAB 중 ON 된 것 중 1이 들어간것만 생각
- EICRA - INT(숫자)만큼 묶어서 적기
- EICRAB - INT(숫자)만큼 묶어서 적기
예시
volatile int state = 0; // 현재 LED의 상태
ISR(INT0_vect) # 인터럽트
{
state = (state + 1)%2; // LED 상태 전환
}
void INIT_PORT(void)
{
DDRC = 0x01;
PORTC = 0x00;
DDRD = 0x00;
}
void INIT_INT0(void)
{
EIMSK |= (1 << INT0);
EICRA |= (1<<ISC01);
sei();
}
int main(void)
{
INIT_PORT();
INIT_INT0();
while(1)
{
if(state == 1)
{
PORTC = 0x01;
}
else
{
PORTC = 0x00;
}
}
return 0;
}'ATMEGA -간단한 실험-' 카테고리의 다른 글
| ATMEGA LED.점등 (0) | 2023.04.24 |
|---|---|
| ATMEGA128A LED ON_OFF (0) | 2023.04.21 |