Servus zusammen.
Hab hier nen kleines Problem und ich steh echt auf dem Schlauch.
Ich will 3 Taster als input benutzen. Hierfür benutze ich PortC.
Diese will ich in einer Schleife dauerhaft abfragen, bis einer gedrückt
wurde.
Hier mal mein Code
1 | DDRC = 0x00; // alle auf input, da ich erweiterbar sein will
|
2 |
|
3 | int i = 1;
|
4 | int j = 0;
|
5 | while (i)
|
6 | {
|
7 | if ( (PINC & (1<<PINC0) ) == 0 )
|
8 | {
|
9 | i = 0; j = 1;
|
10 | _delay_ms(1000);
|
11 | }
|
12 |
|
13 | if ( (PINC & (1<<PINC1)) == 0 )
|
14 | {
|
15 | i = 0; j = 2;
|
16 | _delay_ms(1000);
|
17 | }
|
18 |
|
19 | if ( (PINC & (1<<PINC2)) == 0 )
|
20 | {
|
21 | i = 0; j = 3;
|
22 | _delay_ms(1000);
|
23 | }
|
24 | _delay_ms(20);
|
25 | }
|
Das Programm führ Schleife auf bis eine Taste gedrückt wurde und gibt
dann auch die Variable der Taste zurück.
Mein Problem ist, dass es hier immer in die dritte IF Abfrage springt.
Es springt einfach rein und ich weis echt nicht warum....
bitte um Hilfe.
mfG Michael