직접 보여드리는게 빠를 듯 하여 소스랑 동영상 첨부합니다.
소스 상으로는 0.5와 1.5초의 딜레이를 넣었으나 실제 적용되는 딜레이는 그보다 훨씬 짧은듯 합니다.
이에 대한 원인이 어떤게 있을까요..?
#include <avr/io.h>
#include <util/delay.h>
#define F_CPU 16000000UL
int main(void) {
DDRG |= (1 << PG0) | (1 << PG1);
while (1) {
// PG0 켜고 PG1 끄기 (LED1 ON, LED2 OFF)
PORTG |= (1 << PG0);
PORTG &= ~(1 << PG1);
_delay_ms(500);
// PG0 끄고 PG1 켜기 (LED1 OFF, LED2 ON)
PORTG &= ~(1 << PG0);
PORTG |= (1 << PG1);
_delay_ms(1500);
}
return 0;
}
|