Eingang abfragen Ausgang setzen geht nicht wie ich will

Gast #2787736
Lesenswert?

Hallo zusammen...

ich arbeite mich durchs AVR Tutorial durch und versuche nun mit Ein- und 
Ausgängen eines ATMEGA8515 etwas zu experimentieren.
...das ganze auf dem STK500

eine simple Aufgabe, aber irgend was mache ich wohl falsch?!

Port A sind alles Eingänge, mit den Tastern verbunden und PortB alles 
Ausgänge mit LED's verbunden.

Mein code:
1
 DDRB=0xFF; // alle pins des Port B als Ausgang setzen 
2
  DDRA=0x00;   // alle Pins des Port A als Eingang setzen
3
  PORTA=0xFF; // Pull Up wiederstände an Eingang A aktivieren
4
  
5
   while(1)
6
    {  
7
  if (PINA & (1<<PINA0))  {
8
    PORTB|= 0x00;
9
  }    
10
  else  {
11
    PORTB|= 0xFF;  
12
  }          
13
  }    
14
   return 0;  
15
    
16
}

nach dem Reset leuchten alle LED's, das geht...
durch drücken des Tasters an PinA Bit 0, wird dieser Low und alle Bits 
des PortB werden 0 gesetzt... geht soweit...
lässt man den Taster wieder los bleiben die LED'sb aber Dunkel! wieso? 
diese sollten doch wieder leuchten, da die if bedingung wieder erfüllt 
ist...

Hat jemand einen Tipp?

Danke und gruess
Hanns

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