Gut hab das mal ausprobiert. Funktioniert leider auch nicht. Ich glaube es liegt daran das ich ein Verständnisproblem hab.

Ich habe hier ein kurzes Progr.:
#include <avr/io.h>

int main(void) {
int i=0;
unsigned int keys;
DDRB = 0xff; // PORTB als Ausgang
DDRD = 0x00; // PORTD als Eingang
PORTB = 0xff; // setzt alle Ausgangsport auf H-Pegel --> leds aus

for (; {
keys = ~PIND;

PORTB=0xff;
if ( keys & 1 )

PORTB &= ~(1<<PB0+i);
}
}

da leuchtet meine led an pb0 wenn ich meinen taster 1 drücke, und so wie ich das verstanden hab wird die for schleife unendlich mal durchlaufen, und wenn ich nun taster1 drücke....
und das klapt nich mit i++, drinn.

DANKE für die geduldigen Antworten