Hallo

Dein while(1) war an der falschen Stelle.


Code:
#include <inttypes.h>
#include <avr/io.h>
#include <avr/delay.h> // definiert _delay_ms()
#include <stdint.h>

int main(void)
{

DDRD=0x00;
DDRB=0x07;
DDRD=0x01;

int i=0;


while(1){

if(!(PIND & (1<<PIND2))){
	_delay_ms(100);
	i=i+1;
}

if(i==0){
PORTB=0x00;
}
if(i==1){
PORTB=0x01;
}
if(i==2){
PORTB=0x02;
}
if(i==3){
PORTB=0x03;
}
if(i==4){
PORTB=0x04;
}
if(i==5){
PORTB=0x05;
}
if(i==6){
PORTB=0x06;
}
if(i==7){
PORTB=0x07;
}
if(i==8){
i=0;
}
}
}

MFG
Dieter