BASIC4MCU | 질문게시판 | 스위치 누르면 led 순차점등 코딩..부탁드려요
페이지 정보
작성자 빛의흐름 작성일2020-04-22 22:24 조회17,903회 댓글3건본문
void main(void)
{
signed char dir=0,i;
DDRA=0xFF;
PORTB=3;
while(1){
if(!PINB.0)dir=0; // 좌쉬프트
if(!PINB.1)dir=1; // 우쉬프트
//
if(dir==0){ if(++i>7)i=0; }; // 좌쉬프트
else(dir==1) { if(--i<0)i=7; }; // 우쉬프트
//
PORTA=1<<i; delay_ms(100);
}
}
8개의 led로 옆으로 한개씩 켜지는 쉬프트 코딩 만들건데요..
스위치 2개로 하나는 좌쉬프트, 하나는 우쉬프트 되는 코딩이 이거 맞나요..?
codevision 기준입니당..
댓글 3
조회수 17,903master님의 댓글
master 작성일
else(dir==1) { if(--i<0)i=7; }; // 우쉬프트
컴파일 오류 발생합니다.
else { if(--i<0)i=7; }; // 우쉬프트
빛의흐름님의 댓글
빛의흐름
#include <mega128.h>
#include <delay.h>
void main(void){
signed char dir=0,i;
DDRA=0xFF;
PORTB=3;
while(1){
if(!PINB.0)dir=0; // 좌쉬프트
if(!PINB.1)dir=1; // 우쉬프트
//
if(dir==0){ if(++i>7)i=0; }; // 좌쉬프트
else { if(--i<0)i=7; }; // 우쉬프트
//
PORTA=1<<i; delay_ms(100);
}
}
알려주신대로 했는데 no matching if 라고 또 뜨는데 뭐가 잘못된건가요..?
master님의 댓글
master
if(dir==0){ if(++i>7)i=0; }; // 좌쉬프트
if문 제일 뒤에 세미콜론(;)이 있으면 else가 무시됩니다.
if(dir==0){ if(++i>7)i=0; } // 좌쉬프트