Hallo ich bin am verzweifeln das Programm macht nicht das was es soll. Ich möchte das es die If Anweisungen aufruft (if 1-4 ) obwohl ich izeile1 auf 1 setze tut sich nichts?
1 | int main(void) |
2 | {
|
3 | DDRC = 0x00; //c1=1 c2=2 c3=3 c4=4 c5=5 c6=6 c7=7 d0=8 d1=9 d2=0 d3=up d4=down d5=left d6=right c0=return d7=enter |
4 | DDRD = 0x00; |
5 | |
6 | |
7 | |
8 | lcd_init(); |
9 | izeile1 = 1; |
10 | izeile2 = 2; |
11 | izeile3 = 3; |
12 | izeile4 = 4; |
13 | while(1){ |
14 | hauptmenu(); |
15 | }
|
16 | return 0; |
17 | }
|
18 | |
19 | |
20 | int hauptmenu(void) |
21 | |
22 | if (PIND == ((0b00001000)&(0b00001000))){ // up |
23 | while(PIND == ((0b00001000)&(0b00001000))){} |
24 | //if (!(izeile1==-2)){
|
25 | izeile1 = izeile1 -1; |
26 | izeile2 = izeile2 -1; |
27 | izeile3 = izeile3 -1; |
28 | izeile4 = izeile4 -1; |
29 | }//} |
30 | |
31 | if (PIND == ((0b00010000)&(0b00010000))){ // down |
32 | while(PIND == ((0b00010000)&(0b00010000))){} |
33 | //if (!(izeile3==4)){
|
34 | izeile1 = izeile1 +1; |
35 | izeile2 = izeile2 +1; |
36 | izeile3 = izeile3 +1; |
37 | izeile4 = izeile4 +1; |
38 | }//} |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | lcd_clear(); |
47 | //set_cursor(0,2);
|
48 | //lcd_string(">");
|
49 | |
50 | if (izeile1 == 1||izeile1 == 2||izeile1 == 3){ // If 1 |
51 | set_cursor(1,izeile1); |
52 | lcd_string("1 SETUP"); |
53 | //izeichen=izeichen+1;
|
54 | }
|
55 | |
56 | if (izeile1 == 1||izeile1 == 2||izeile1 == 3){ // If 2 |
57 | set_cursor(1,izeile2); |
58 | lcd_string("2 STARTEN"); |
59 | //izeichen=izeichen+1;
|
60 | }
|
61 | |
62 | if (izeile1 == 1||izeile1== 2||izeile1 == 3){ // If 3 |
63 | set_cursor(1,izeile3); |
64 | lcd_string("3 SILO"); |
65 | //izeichen=izeichen+1;
|
66 | }
|
67 | |
68 | if (izeile1 == 1||izeile1 == 2||izeile1 == 3){ // If 4 |
69 | set_cursor(1,izeile4); |
70 | lcd_string("4 STATUS"); |
71 | //izeichen=izeichen+1;
|
72 | }
|
73 | |
74 | |
75 | |
76 | |
77 | //set_cursor(1,4);
|
78 | //lcd_string("ANLAGE AUS");
|
79 | uebergabe(); |
80 | _delay_ms(200); |
81 | |
82 | return 0; |
83 | }
|