Hm... bei dir geht der Code also so?

Code:
int main(void){ 
   DDRA = 0b00000001;         //PA0 als Ausgang definieren 
   PORTA &= ~(1<<PA0);         //PA0 auf Low schalten (LED aus) 
   PORTA |= (1<<PA1) & (1<<PA2);//PA1 und PA2 auf High setzen 
   while(1){ 
      if((!(PINA&(1<<PA1))) && (PINA&(1<<PA2))){    //Wenn Taster (PA1) betätigt und Taster (PA2) nicht betätigt, dann... 
         PORTA |= (1<<PA0);   //... schalte LED ein 
      } 
      if((!(PINA&(1<<PA2))) && (PINA&(1<<PA1))) {  //wenn Taster (PA1) nicht betätigt und Taster (PA2) betätigt... 
         PORTA &= ~(1<<PA0); //... dann LED aus 
      } 
   } 
   return 0; 
}
Bei mir: LED glimmt (also nicht aus ^^)
Bei betätigen von PA1: LED leuchtet
Loslassen von PA1: LED aus
Bei betätigen von PA2: LED aus (also glimmt nicht mehr)
Bei gedrückt halten von PA2 + PA1 betätigen: LED aus

Irgendwie klappt das bei mir nicht