Hallo Herkulase,
danke für Deine Antwort.
Ups, Du hast Recht, ich muss auf 1 abfragen. Ich habs jetzt mal umgeschrieben. Es ist bestimmt besser durchschaubar, wenn man die Bit-Namen verwendet.
Code:
void AdcInit(void)
{
   ADMUX=0;
   ADMUX|=0x00;      // VREF=AREF Pin
   ADMUX|=0x01;      // Kanal AIN1
   ADCSRA=0;
   ADCSRA|=(1<<ADPS2);     // Prescaler clk/16REFS 6 92
   ADCSRB=0;
   ADCSRA|=(1<<ADEN);     // Enable
}

void AdcStart(void)
{
   ADCSRA|=(1<<ADSC);     // Start
}

u8 AdcReady(void)
{
   if( (ADCSRA&(1<<ADSC))==(1<<ADSC) )
   {  return(1);  }
   else
   {  return(0);  }
}

s16 main(void)
{

   AdcInit();

   while( 1 )
   {
      AdcStart();
      while( AdcReady()==1 )
      {  ;  }
   }
}
Leider ändert das nichts am Ergebnis. Ich bekomme immer noch 0x01D2. Da ich's im Emulator laufen habe sehe ich , das die Wandlung ausgeführt wurde ADIF ist gesetzt und der ADC-Wert ändert sich.
Kann es sein, dass mit meinem Hardware-Aufbau was nicht stimmt? Oder ist am Ende mien Controller defekt?

Drew