Wie ist denn der COde für deine Funktion dann nun insgesamt?
Muss mit dem Teil möglichst schnell (innerhalb der nächsten Tage) einen sharp-entfernungsmesser auslesen und der µC soll auch noch was machen während er auf den ACD wartet... bitte helft mir

MfG dark_flash
Code:
uint16_t getADC(uint8_t pin);					

* main program 
*/    
{
   /* define port a as imput ( A/D-converter inputs ) */
   DDRA = 0x00;
   PORTA = 0x00;
   int s1 = getADC(0);
}

uint16_t getADC(uint8_t pin)
{
	uint16_t adc_value = 0;
	
	// min Prescaler = µC Frequ / 200 KHz & max Prescaler = µC Freq. / 50 khz = min 80 & max 320
	ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); // Prescalar = 128
	
	ADMUX = pin;
	ADMUX |= (1<<REFS1) | (1<<REFS0); // use internal voltage
	ADCSRA |= (1<<ADSC);
	
	while (!(ADCSRA & (1<<ADIF)));	// wait for finish converting ADIF bit
	adc_value = ADCW; 					// read result 
	ADCSRA = (1<<ADIF);				// delete ADIF, cause it could trigger an ISR		
	
	return adc_value;					// return result
}
Also in der MAin wird die Methode mit dem Port aufgerufen, an welchem gemessen werden soll... sonst ist eigentlich alles kommentiert...oder gibt es nocht Fragen ?

MfG

Alex

PS: Allen Usern noch ein gesundes neues Jahr 2006 ! \/