Das while mittendrin erschließt sich mir nicht...
Versuchs mal so, evtl. ist es das ja was du willst?
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;
}
Lesezeichen