@Sternthaler

Ein Beispiel braucht man nicht weit suchen, bleiben wir doch beim Asuro.
Ich erlaube mir die erweiterte Bibliothek von Weja zu zitieren,

SIG_ADC Routine für Odometrie, in Encoder_Init() wird adc Freerunning
eingeschaltet

Code:
SIGNAL (SIG_ADC)

{

	static unsigned char tmp[2],flag[2],toggle;

	if (autoencode){

	tmp[toggle]= ADCH;

	if (toggle)	ADMUX = (1 <<ADLAR) | (1 <<REFS0) | WHEEL_RIGHT; 

	else ADMUX = (1 <<ADLAR) | (1 <<REFS0) | WHEEL_LEFT; 



	if ( (tmp[toggle] <= 160) && (flag[toggle] == TRUE)) {

		encoder[toggle] ++;

		flag[toggle] = FALSE;

	}

	if ( (tmp[toggle] > 160) && (flag[toggle] == FALSE)) {

		encoder[toggle] ++;

		flag[toggle] = TRUE; 

	}

	toggle ^= 1;
Ich brauche Dir das wohl nicht näher zu erklären, was hier passiert, aber klar, bei jedem Interrupt wird der Kanal umgeschaltet und es klappt, das habe ich schon öfters umgesetzt und keine Problemme mit gehabt...

@castle

klar fühlst Du Dich pudelwohl, wahrscheinlich geht Dir immer einer ab, wenn Du jemanden niedermachen kannst...

Gruß Sebastian