Guten Abend allerseits

Nach langer Fehlersuche weis ich noch immer nicht, warum der AD-Wandler meinesATmega8 nicht geht ...

Ich habs jetzt mal gekürzt soweit wie möglich. Das Problem ist, dass die while-Schleife while(ADCSRA & (1 << ADSC)) nie verlassen wird.

Was mache ich falsch???

MfG
- C. Lechner

Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <inttypes.h>

int main(void)
{
        uint8_t x;

        DDRD = 0xff;

        ADMUX = 0x40;
        ADCSRA = (1 << ADEN) | 0x07;
        while(1)
        {
                ADCSRA |= (1 << ADSC);
                while(ADCSRA & (1 << ADSC));

                x++;
                if (x & 0x01)
                        PORTD = 0x00;
                else
                        PORTD = 0xff;
        }

        return(0);
}