BASIC4MCU | AVR 따라하기 | 2015년 강좌 | 026 - [LED-24] 하나씩 채우기
페이지 정보
작성자 키트 작성일2017-08-23 14:40 조회2,523회 댓글2건본문
1234567891011121314151617 //--------------------------------------------------------// CVAVR// [LED-24] 채우기//--------------------------------------------------------#include <mega128.h>#include <delay.h>//void main(void){int i,k,s;DDRA=0xff;while(1){for(s=0,k=8;k>0;k--){for(i=0;i<k;i++){ PORTA=s|(1<<i); delay_ms(300); }s=PORTA;}}}cs
123456789101112131415161718 //--------------------------------------------------------// AVRStudio// [LED-24] 채우기//--------------------------------------------------------#define F_CPU 16000000UL // 16 MHz#include <avr/io.h>#include <util/delay.h>//int main(void){int i,k,s;DDRA=0xff;while(1){for(s=0,k=8;k>0;k--){for(i=0;i<k;i++){ PORTA=s|(1<<i); _delay_ms(300); }s=PORTA;}}}cs //--------------------------------------------------------------------------------------
1234567891011121314151617 //--------------------------------------------------------// CVAVR// [LED-24] 채우기//--------------------------------------------------------#include <mega128.h>#include <delay.h>//void main(void){int i,k,s;DDRA=0xff;while(1){for(s=0xff,k=8;k>0;k--){for(i=0;i<k;i++){ PORTA=s&(~(0x01<<i)); delay_ms(300); }s=PORTA;}}}cs
123456789101112131415161718 //--------------------------------------------------------// AVRStudio// [LED-24] 채우기//--------------------------------------------------------#define F_CPU 16000000UL // 16 MHz#include <avr/io.h>#include <util/delay.h>//int main(void){int i,k,s;DDRA=0xff;while(1){for(s=0xff,k=8;k>0;k--){for(i=0;i<k;i++){ PORTA=s&(~(0x01<<i)); _delay_ms(300); }s=PORTA;}}}cs LED 구동은 GPIO 출력의 기초가 되는 중요한 예제입니다.잘 숙지해서 내 것으로 만드시기 바랍니다.^^
댓글 2
조회수 2,523세계제일초보님의 댓글
세계제일초보작성일
선생님..많은 생각을 하고..확인하는거랑 질문이랑 같이 있습니다.
1.for(i=0;i<k;i++){ PORTA=s|(1<<i)
이문장에서.. 1<<i의값이 4,5값이든 | (or)들어 가있는 문장은 무조건 1씩만 이동하는게 맞습니까?
2.for(i=0;i<k;i++){ PORTA=s|(1<<i); _delay_ms(300); }
s=PORTA;
PORTA=0X80의 값을 S넣는데.. 다음 값0X40값은 PORTA에 넣으면 이전의값 0X80이 어떻게...사라지지않고 지속 되는건가요..
S+=PORTA 이게.. 데이터값을 지속적으로 가지고 있는 코팅으로 알고 있습니다...ㅠㅠ 선생님..
master님의 댓글
master
벌써 전체 예제를 3번씩 돌려보면서 공부하셨나요?
이해가 안간다고 무조건 이해 갈 때까지 버티면서 공부한다면
진도가 안나가고, 지쳐서 포기하게 될 수도 있습니다.
중학교 1학년 과정을 백% 다 모른채로 중학교 2학년에 올라갑니다.
중학교 3학년 올라 갈 때도 중학교 2학년 과정을 다 모른채로 올라갑니다.
이런식으로 다 모른채로 진학하더라도 나중에 다 알게됩니다.
상급과정에서 하급과정을 되 써먹게되고 처음 모르고 지났더라도 나중에 다시 배우게 된다는 뜻이죠
다 알려고 하지말고 정 이해가 안가면 건너 뛰면서 진도를 나가세요
그 것이 덜 힘들고 빨리 습득하는 방법입니다.