DDRD = 0xFF;
PORTD = 0x00;
char i = 0;
char flag = 0;
if(flag == 0) {
PORTD = (1 << i);
i++;
}
1-ый цикл i = 0, горит по условию лампа 0000 0001
i становится 1
2-ый цикл i = 1, горит по условию лампа 0000 0010
i становится 2
3-ый цикл i = 2, горит по условию лампа 0000 0100
i становится 3
4-ый цикл i = 3, горит по условию лампа 0000 1000
i становится 4
5-ый цикл i = 4, горит по условию лампа 0001 0000
i становится 5
6-ый цикл i = 5, горит по условию лампа 0010 0010
i становится 6
7-ый цикл i = 6, горит по условию лампа 0100 0000
i становится 7
8-ый цикл i = 7, горит по условию лампа 1000 0000
i становится 8
if(i == 8) {
flag = 1;
i - 2;
}
цикл i = 6, горит по условию лампа 0100 0000
DDRD = 0xFF;
PORTD = 0x00;
char i = 0;
char flag = 0;
if(flag == 0) {
PORTD = (1 << i);
i++;
}
1-ый цикл i = 0, горит по условию лампа 0000 0001
i становится 1
2-ый цикл i = 1, горит по условию лампа 0000 0010
i становится 2
3-ый цикл i = 2, горит по условию лампа 0000 0100
i становится 3
4-ый цикл i = 3, горит по условию лампа 0000 1000
i становится 4
5-ый цикл i = 4, горит по условию лампа 0001 0000
i становится 5
6-ый цикл i = 5, горит по условию лампа 0010 0010
i становится 6
7-ый цикл i = 6, горит по условию лампа 0100 0000
i становится 7
8-ый цикл i = 7, горит по условию лампа 1000 0000
i становится 8
if(i == 8) {
flag = 1;
i - 2;
}
цикл i = 6, горит по условию лампа 0100 0000
e.keyCode == 83 && e.keyCode == 65
function func(e) =>
if(e.keyCode == 83)
... движение вниз
if(e.keyCode == 65)
...движение вправо
wind.addEventList("keydown", func)
for(int i = 0; i <= 7; i++) {
PORTD = (0b00010001 << i);
delay_ms(500);
}
i
всегда сдвигает на 1
?i
не должно увеличиваться на 1
и в итоге уже на 5
сдвиге ни один не должен гореть?i = 0; 0b00010001;
i = 1; 0b00100010;
i = 2; 0b10001000;
i = 3; 0b01000000;
i = 4; 0b00000000;