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
Lesezeichen