Danke für die schnellen Antworten, das ist die Auslesefunktion

Code:
uint16_t GetAdc(uint8_t pin) {

	// min Prescaler = µC Frequ / 200 KHz & max Prescaler = µC Freq. / 50 khz = min 80 & max 320
	
	ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1); 				 		// Prescalar = 128
   DIDR0=0x00;
	DIDR2=0x00;
	
   uint8_t i;
   uint16_t result;
   uint16_t ergebnis;
   ergebnis = 0;
   //    +------------ Dummy-Check ------------+
   i = 1;                              // i x Dummy-Check
   while(i){
      ADMUX = pin;                      	// Kanal waehlen
      ADCSRA |= (1<<ADSC);               // eine Wandlung "single conversion"
      while(!(ADCSRA & (1<<ADIF)));     // auf Abschluss der Konvertierung warten (ADIF-bit)
      result = ADCL + (ADCH << 8);       // Wandlungsergebnisse erfassen
      result = 0;                        // Zurücksetzen
      i--;
   }
   //    +------------- Ermittlung ------------+
   i = 10;
   while(i){
      ADMUX = pin;                        // Kanal waehlen
      ADCSRA |= (1<<ADSC);               // eine Wandlung "single conversion"
      while(!(ADCSRA & (1<<ADIF)));         // auf Abschluss der Konvertierung warten (ADIF-bit)
      result = ADCL + (ADCH << 8);         // Wandlungsergebnisse erfassen
      ergebnis = ergebnis + result;         // Aufaddieren
      i--;
   }
   //    +-------- Umrechnung & Ausgabe -------+
   ergebnis = ergebnis / 10 ;
   return ergebnis;
}