Der einfachheit halber erst mal mit 8bit...
Ich weiß nicht genau, was Du machen willst, aber in der Regel ist eine fließende Mittelwertbildung sinnvoller. Fließend heißt, bei jedem Auslesen des ADCs fliegt der älteste Wert aus dem Array raus und der neue kommt hinzu.Code:void GetADC (void) { static unsigned char s_aucData[3]; static unsigned char s_ucCount; unsigned char ucTmp; s_ucCount++; //ADC auslesen ADCSR |= 0x40; while (ADCSR & 0x40) ; s_aucData[s_ucCount] = ADCH; if (s_ucCount == 3) { mittelwert (s_aucData); //siehe Funktion oben... s_ucCount = 0; } }
aGruß,
askazo







Zitieren

Lesezeichen