마이크로 프로세서 스위치제어 LED 질문이있습니다

조회수 76회

void main(void){ char key, oldkey, led; DDRD = 0b00000000; DDRC = 0b11111111; led=0b11111110; PORTC=led;

while(1){
    key=PIND&0b00000100;
    if(key == 0){
        while(led != 0b01111111){
            led = (led<<1)|0x01;
            if(led == 0xFF) led = 0x7F;
            PORTC = led;

        }                

        while(led != 0b11111110){
            led = (led>>1)|0x80;
            if(led == 0xFF) led = 0xFE;
            PORTC = led;

        }
    delay_ms(100);
    } 
}   

} 이 코드에서 LED가 스위치를 누를 떄마다 0번부터 7번까지 순차적으로 비트이동을하고 7번에 도달했을때 거꾸로 7번부터 0번까지 반복하는 코드를 작성하려하는데 0에서 7로 가지는건 되지만 7에서 올라오는게 안되요

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)