BASIC4MCU | 질문게시판 | 답변 : avr 프로그래밍 led 점등 기초질문..
페이지 정보
작성자 master 작성일2020-04-11 21:02 조회21,644회 댓글5건본문
LED가 순차적으로xxxx xxxxxxxx xxxoxxxx xxoxxxxx xoxxxxxx oxxxxxxo xxxxxxox xxxxxoxx xxxxoxxx xxxx점등하고 무한루트 하려고 하는데..이렇게 코딩하는게 맞나요..?//#include <avr/io.h>#include <util/delay.h>//int main(){unsigned char LED_Data=0;DDRE=0xFF;while(1){PORTE=LED_Data;if(LED_Data==0)LED_Data=1;else LED_Data<<=1;_delay_ms(1000);}return 0;}
최대한 질문 소스를 덜 건드리고 수정했습니다.
간단한 소스라도 오류가 있을 수 있으므로 동작시켜서 문제가 없는지 확인해보세요
댓글 5
조회수 21,644혼자옵서예님의 댓글
혼자옵서예 작성일
바쁘냐고 지금 봤네요. 알려주셔서 감사합니다!
늦게 감사인사 전해서 죄송합니다.
소스를 보다가 궁금한 부분이 생겼는데요.
if(LED_Data==0)LED_Data=1;
else LED_Data<<=1;
이 내용이 LED Data가 0이면 LED Data를 1로 지정하고 그렇지 않으면 왼쪽으로 1씩 넘어간다는 거잖아요
LED Data를 1로 지정했을 경우 LED Data는 0000 0001인가요? 아니면 십진수의 1로 인식되나요?
master님의 댓글
master
1은 2진수에서도 1
1은 3진수에서도 1
1은 4진수에서도 1
1은 8진수에서도 1
1은 10진수에서도 1
1은 16진수에서도 1 입니다.
혼자옵서예님의 댓글
혼자옵서예 작성일아 그렇군요..!감사합니다~^^
master님의 댓글
master
0b00000001 프리픽스 b는 Binary의 약어
0o000001 프리픽스 o는 Octal의 약어
0d001 프리픽스 d는 Decimal의 약어
0x01 프리픽스 x는 Hexa-decimal의 약어
이 중 십진수의 0d는 생략 할 수 있습니다.
//
좌측의 0의 개수는 일반적으로 해당 숫자의 데이터형에 맞춰서 사용하는데
진수를 막론하고 좌측의 0은 생략할 수도 있지만, 위에서 언급한 것처럼 데이터형을 이해하기 쉽도록 데이터형 크기에 맞춰서 붙이는 경우가 많으며, 생략해도 컴파일 오류가 발생하는 것은 아닙니다.
0b1
0o1
0d1 (십진수는 프리픽스를 생략해서 1로 표기하는 것이 일반적임)
0x1
혼자옵서예님의 댓글
혼자옵서예 작성일아아~ 친절한 설명 감사합니다!