1 #include <avr/io.h>
2 int main(void)
3 {
4 DDRB = 0b01111111;
5 PORTB = 0b00000000;
6 DDRD = 0b01111111;
7 PORTD = 0b00000000;
8 TCCR1B |= 1<<CS10 | 1<<CS11;
9 int LEDNumber[2];
10 while(1)
11 {
12 if (TCNT1 > 2232)
13 {
14 TCNT1 = 0;
15 PORTB = 1<<LEDNumber[0];
16 LEDNumber[0] ++;
17 if (LEDNumber[0] > 6)
18 {
19 LEDNumber[0] = 0;
20 PORTD = 1<<LEDNumber[1];
21 LEDNumber[1] ++;
22 if (LEDNumber[1] > 6)
23 LEDNumber[1] = 0;
24 }25 }26 }27 }
Can you explain me the execution of program from line 15. As I understand the LEDNumber[0] is array which's element is increasing and then assigned to the appropriate port. After execution of line 16 the LEDNumber[1], then LEDNumber[2], LEDNumber[3], LEDNumber[4], LEDNumber[5], LEDNumber[6] and then it enter in line 19. Thanks in advance.
2 int main(void)
3 {
4 DDRB = 0b01111111;
5 PORTB = 0b00000000;
6 DDRD = 0b01111111;
7 PORTD = 0b00000000;
8 TCCR1B |= 1<<CS10 | 1<<CS11;
9 int LEDNumber[2];
10 while(1)
11 {
12 if (TCNT1 > 2232)
13 {
14 TCNT1 = 0;
15 PORTB = 1<<LEDNumber[0];
16 LEDNumber[0] ++;
17 if (LEDNumber[0] > 6)
18 {
19 LEDNumber[0] = 0;
20 PORTD = 1<<LEDNumber[1];
21 LEDNumber[1] ++;
22 if (LEDNumber[1] > 6)
23 LEDNumber[1] = 0;
24 }25 }26 }27 }
Can you explain me the execution of program from line 15. As I understand the LEDNumber[0] is array which's element is increasing and then assigned to the appropriate port. After execution of line 16 the LEDNumber[1], then LEDNumber[2], LEDNumber[3], LEDNumber[4], LEDNumber[5], LEDNumber[6] and then it enter in line 19. Thanks in advance.