2016년 4월 19일 화요일

led2.c

// led2.c
// led on & off
// define 문을 이용해서 필요한 부분만 컴파일 및 실행

#include <avr/io.h>
#include <util/delay.h>
#define TEST 1

int main(void) {
#if TEST == 1 // #ifdef TEST
unsigned char led = 0xfe; // 1111 1110
#else
unsigned char led = 0xf7; // 1111 0111
#endif

DDRD = 0x0f;
// upper4bit : input
// under4bit :

while(1) {
PORTD = led; // on
_delay_ms(1000); // delay

#if TEST == 1
led <<= 1; // shift left 1bit
led |= 0xf1; // 1111 0001, 우측에 1을 삽입
if(led == 0xff)
led = 0xfe;



#else
led >>= 1;
led |= 0x80;
if(led == 0xff)
led = 0xf7;



#endif
} // while

return(0);

}

댓글 없음:

댓글 쓰기