Verstehe, du meinst also so:


// Prototypenfunktionen:
void io_init(void);
void adc_init(void);
int adc_data(void);



int main(void)
{
int k = 0x4;
io_init(); // I/O init
adc_init(); // ADC init



for(;
{
if(adc_data() > k)
PORTB |= (1<<1);
else
{
PORTB ^= (1<<1);
}

}

return 0;
}

void io_init(void)
{
DDRC = 0x00;
DDRB = 0xFF;
}


void adc_init(void)
{
int i;
int result = 0;



ADCSRA = (1<<ADEN) | (1<<ADSC) | (1<<ADFR) |(1<<ADIF) | (1<<ADIE) | (1<<ADPS2) | (1<<ADPS0);


ADMUX = 0x00 | (1<<ADLAR);
}



int adc_data(void)
{
/* eigentliche Messung ( arithmet. Mittelwert aus 2 Messungen ) */

for( i = 0; i < 2; i++)
{
result += ADCH;
}

result /= 2;

return result;
}

?

Hab´s mal ausprobiert. Natürlch hab ich die ports falsch konfiguriert, aber der effekt ist der gleihe, nur dass die LED-leuchtstärke so ist, wie sie sein soll.

(PS: wie kann man denn hier "Code" einfügen ?)