1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.
판매자 | 나임 | 판매 납포인트 | 무료 | 평점 | 0점 / 총 0명 참여 |
---|
/* // 가장 간단한 LED 구동 소스 기능 : 우에서 좌로 좌에서 우로 led 가 물결치듯 시프트 되면서 켜집니다. */ // AvrEdit 3.6 버젼에서는 io.h 의 위치가 avr/io.h 로 바뀌었다. 이하 버젼에서는 그냥 io.h 를 쓰면 된다. #include <avr/io.h> void delay( int ); int main(void) { // LED 비트값을 가리키는 변수 unsigned char led=1; // 방향 플래그 변수 'L' 또는 'R' 값을 가진다. unsigned char dFlag = 'L'; // 처음에는 왼쪽으로 Shift DDRC = 0xff; // I/O PORTC 를 출력으로 사용한다. while(1) { PORTC = led; delay(16); // 약간의 딜레이를 준다. if(dFlag == 'L') led <<= 1; // direction Flag 값이 L 이면 왼쪽 시프트 else led >>= 1; // direction Flag 값이 R 이면 오른쪽 시프트 if(led == 0x80) dFlag = 'R'; // 왼쪽으로 다 갔으면 다시 오른쪽으로 시프트 되도록 방향을 바꾼다. else if(led == 1) dFlag = 'L'; // 오른쪽으로 다 갔으면 다시 왼쪽으로 시프트 되도록 방향을 바꾼다. } return 0; } // 딜레이값을 주면서 LED 변화를 관찰한다. // 딜레이를 주지 않으면 변화 속도가 너무 빨라서 Led 가 전부 켜진것 처럼 보일것이다. void delay(int n) { int i, j; for(i=0; i<n; i++) for(j=0; j<20000; j++) ; }