Hi, Goliath,

Zitat Zitat von Goliath
kann ich damit nicht wirklich viel anfangen
wieso port C ??? nur port a kann analogeingänge abfragen
Ganz einfach, sloti hat (vermutlich, sicher) den Eingang ADC0 gemeinte, der ist am gleichen Pin wie der PA0, also am PIN40 !

Sieh mal her, vielleicht hilft das besser:
Code:
/* ============================================================================== */
/* ===  Initialisierung fuer ADC    mega168 ========================================
   ADC3/PC3 auf 8 Bit, Wandlung "auf Abruf",  es wird kein Interrupt ausgelöst    */
void ADC3_8_init(void)			//
{	
    ADMUX  |= (1<<ADLAR);		// 8bit-left-adjusted  (doc S256)
    ADMUX  |= (1<<MUX1)|(1<<MUX0);	// Wandlung für Port ADC3 
    ADCSRA |= (1<<ADEN);		// AD Enable
    ADCSRA |= (1<<ADSC);	        // starte erste Wandlung
}
/* ============================================================================== */
Der Code ist zwar für den mega168, aber diese Sequenz wird am m16/m32 auch laufen (hab ich aber in der Eile nicht ausprobiert). Achtung: Das ist eine 8-Bit-Wandlung - für 10 bit guck halt ins doc2503. "Abgehört" wird hier der analoge Eingang auf Port ADC3 - das ist der Pin 37 bzw. Port-Pin PA3.

JETZT kannst Du irgendwo im main oder in einer Subroutine schreiben:

Code:
char wortadc[10];

   ADC3_8_init();	// Initialisiere ADC3, 8 Bit, auf Abruf

	ADCSRA |= (1<<ADSC);		// starte Wandlung
	waitms(500);			//
	adc3_dat = ADCH;		// Hole ADCHighByte (ADLAR !)
       utoa(adc3_dat, wortadc, 10);
       sendUSART(" Momentaner ADC-Wert    ");
       sendUSART(wortadc);sendUSART("\r\n");
und dann kann sowas Ähnliches rauskommen (am Terminal):
Momentaner ADC-Wert 1
Momentaner ADC-Wert 0
Momentaner ADC-Wert 1
Momentaner ADC-Wert 62
Momentaner ADC-Wert 24
Momentaner ADC-Wert 60
Momentaner ADC-Wert 49
Momentaner ADC-Wert 63
Momentaner ADC-Wert 76
Momentaner ADC-Wert 88
Momentaner ADC-Wert 96