Hallo,
wie oben geschrieben habe ich ein Problem mit der switch Funktion.
Ich wollte nur schnell ein kleinens LCD Menü machen aber irgendwie
bekomme ich das nicht hin.
hier erst mal der Code.
1 |
|
2 | switch (menutap)
|
3 | {
|
4 | case 1 :
|
5 | if(tast == DOWN)
|
6 | {LCD_puts("down",1);
|
7 | menutap = 2;
|
8 | }
|
9 | else if(tast == UP)
|
10 | {LCD_puts("up",1);
|
11 | }
|
12 | else
|
13 | {LCD_puts("Case 1",1);
|
14 | }
|
15 | break;
|
16 |
|
17 | case 2:
|
18 | if(tast == DOWN)
|
19 | {LCD_puts("down",1);
|
20 | menutap = 3;
|
21 | }
|
22 | else if(tast == UP)
|
23 | {LCD_puts("up",1);
|
24 | menutap = 1;
|
25 | }
|
26 | else
|
27 | {LCD_puts("Case 2",1);
|
28 | }
|
29 | break;
|
30 |
|
31 | default :
|
32 | menutap = 1;
|
33 | //LCD_puts("defaul",1);
|
34 | break;
|
Also eigentlich ganz einfach dachte ich. Aber es geht nicht. Warum?
Welchen Fehler mache ich?
Die Taster sind über den Timer0 entprellt. Das funktioniert auch alles,
wenn ich ein Taste drücke wird die bezeichung der Taste auf dem LCD
angezeit. Also wird der code ja durchlaufen, ausgeführt und die menutap
müsste geändert werden. Aber er springt nicht ins ander Case um. Er
bleibt immer in Case 1. Wenn ich menutap einen Wert gebe er in den Case
und bleibt da.
Ich mache bestimmt so ein ganz doofen Anfängerfehler, oder?