So weit ich zähle, wird aber jeder zehnte und nicht jeder zwölfte ISR-Aufruf gewertet.

adc3tcnt = 1;

adc3tcnt + 1 ; 1. Aufruf (adc3tcnt = 2 )
adc3tcnt + 1 ; 2. Aufruf (adc3tcnt = 3 )
adc3tcnt + 1 ; 3. Aufruf (adc3tcnt = 4 )
adc3tcnt + 1 ; 4. Aufruf (adc3tcnt = 5 )
adc3tcnt + 1 ; 5. Aufruf (adc3tcnt = 6 )
adc3tcnt + 1 ; 6. Aufruf (adc3tcnt = 7 )
adc3tcnt + 1 ; 7. Aufruf (adc3tcnt = 8 )
adc3tcnt + 1 ; 8. Aufruf (adc3tcnt = 9 )
adc3tcnt + 1 ; 9. Aufruf (adc3tcnt = 10 )
adc3tcnt + 1 ; 10. Aufruf (adc3tcnt = 11 )

adc3tcnt = 1;

usw.....


Code:
  adc3tcnt      = adc3tcnt + 1;
  if (adc3tcnt < 11)  return;   // Es wird NUR jeder zwölfte ISR-Aufruf gewertet
// - - - - - - - - - - - - - - - -
//  ##>>        Ab hier ist adc3tcnt >11, hier also 12
  adc3tcnt      = 1;            // adctcnt zurücksetzen auf 1

MfG
Moppi