Hallo, ich versuche hier 2 Taster, jeweils einen für hoch und den anderen für runter auf eine 7 Segment Anzeige auszugeben. Jedoch scheiterts schon daran, dass ich es nicht hinbekomme bei einem Tasterdruck die Variable menuValue nur um einen erhöht wird! Er soll von 1-9 hoch und runter zählen können! 0x1 ist hoch und 0x2 ist runter. Danke!!
1 | int main() |
2 | {
|
3 | static int menuValue = 1; |
4 | int pushButtons; |
5 | int pushCnt = 0; |
6 | |
7 | |
8 | menu(); |
9 | do{ |
10 | pushButtons = IORD_16DIRECT(IO_IN_PUSH_BUTTONS_BASE,0); |
11 | if(pushButtons && 0x01) |
12 | {
|
13 | pushCnt++; |
14 | if(pushCnt > 8) |
15 | if(menuValue < 9) |
16 | {
|
17 | menuValue++; |
18 | pushCnt = 0; |
19 | usleep(10000); |
20 | }
|
21 | }
|
22 | if(pushButtons && 0x02) |
23 | {
|
24 | pushCnt++; |
25 | if(pushCnt > 8) |
26 | if(menuValue >= 1) |
27 | {
|
28 | menuValue--; |
29 | pushCnt = 0; |
30 | usleep(10000); |
31 | }
|
32 | }
|
33 | else if(pushButtons && 0x03) |
34 | break; |
35 | printf("%i %i\n",menuValue, pushCnt); |
36 | usleep(10000); |
37 | // IOWR_16DIRECT(IO_OUT_7_SEGMENT_BASE, 0, 0x40);
|
38 | // buttonState();
|
39 | }while(1); |