아무도 내 외부 인터럽트 0 작동하지 않는 이유를 알아낼 수 있습니까? 나는 AVR STK 500 보드에 ATmega164P를 사용하고 있습니다. 핀 D2에는 두 가지 기능이있어서 때문입니까?외부 인터럽트 0 작동하지 않습니다
#include <asf.h>
#include <avr/interrupt.h>
#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>
ISR(INT0_vect)
{
PORTB = 1;
for(int i = 0; i < 7; i++)
{
_delay_ms(500);
PORTB << 1;
}
}
int main (void)
{
board_init();
sei();
PORTD = 0xFF;
DDRD = 0x00;
PORTB = 0x00;
DDRB = 0xFF;
while(1)
{
PORTB = PIND;
}
}
board_init()는 무엇을합니까? 외부 인터럽트를 설정/활성화합니까? –
ISR 내부에서 '지연'하지 마십시오. – JimmyB
JimmyB의 성명을 강조하기 위해 ISR 내에 지연을 두지 마십시오. –