// 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);
}
// 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);
}
댓글 없음:
댓글 쓰기