Hallo!

Ich habe mir einen ISP Adapter gebaut und ein kleines experimentierboard für meinen AVR (ATmega. Funktioniert auch alles ganz gut. Nun möchte ich ein Programm schreiben mit folg. Funktionsweise. Wenn Taster 1 an pinD1 gedrückt dann led 1 an portB1
das ganze in eine for-Schleife, soll einen Zähler ergeben. Wenn dann nochmal Taster 1 dann led 2.... bis es zehn mal durch laufen wurde. So sollte es meiner Meinung nach funktionieren, tut es aber nicht. Ich habe schon sehr lange nach fehlern oder anderen Möglichkeiten gesucht und wäre für jede Hilfe dankbar
Ich arbeite mit WinAVR falls das von Bedeutung ist.

Hier mein Programm:

#include <avr/io.h>

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

for (i=0;i<10;i++) {
keys = ~PIND;


if ( keys & 1 )

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


}
}


Grüße Decca