BASIC4MCU | 질문게시판 | Atmega128 공부중에 질문 있습니다
페이지 정보
작성자 겔젠키르헨 작성일2022-04-27 00:58 조회1,078회 댓글4건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=19753
작성일
작성일
작성일
본문
#include <avr\io.h>
#include <util\delay.h>
int main( void ) {
char temp;
DDRA = 0xFF;
temp = 0xFF;
while(1)
{
PORTA = temp;
_delay_ms(500);
temp = (temp << 2);
if (temp == 0x00)
temp = 0x01;
}
return 1;
}
작성한 코드는 처음에 LED를 모두 ON
이후 순차적으로 한칸씩 OFF 되는 코드입니다
O O O O O O O O X
O O O O O O O X O
O O O O O O X O O
이런 방식으로요
반대로
처음엔 모두 OFF
이후 같은 방식으로 한칸씩 ON 되는 코드를 작성하고 싶은데
int main( void ) {
char temp;
DDRA = 0x01;
temp = 0x00;
while(1)
{
PORTA = temp;
_delay_ms(500);
temp = (temp << 2);
if (temp == 0x00)
temp = 0x01;
}
return 1;
킨상태 -> 끈상태소등 -> 점등한칸씩 -> 두칸씩이렇게 생각해서 생각 한대로 바꿔 봤는데1번 led에만 깜빡이고 있네요ㅠ
댓글 4
조회수 1,078master님의 댓글
master 작성일
DDRA = 0x01;
PA0 핀만 출력으로 설정되어서 그렇습니다.
겔젠키르헨님의 댓글
겔젠키르헨
그럼 DDRA = 0xFF;가 되야하나요?
master님의 댓글
master
맞습니다
겔젠키르헨님의 댓글
겔젠키르헨
공부 더 열심히 해야겠네요ㅠ 감사합니다!