Taster Abfrage

OP #3170309
Lesenswert?

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
OP #3170394
Lesenswert?

servus,
ich benutze einen atmega1284p auf dem stk500.

Das mit dem Entprellen schau ich mir mal, danke dir.

den JTAG Fuse abgeschaltet und alles läuft glatt, vielen vielen dank für 
diesen Tipp.

ps: ich benutze keine Interrupts, das ist eine Funktion die aufgerufen 
wird und so lange durchläuft bis eine Taste gedrückt wird, um dann eine 
Variable zurück zu liefern.

mfG michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren