Dennis schrieb:
> Ich habe bisher versucht pro ISR-Durchgang des Timers alle Array-Werte
> eins nach rechts zu schieben und den neuen ADC-Wert dann auf die erste
> Position zu setzen.
Das ist wie wenn du beim Baden zur siebten Umkleidekabine willst, dazu
einfach stehen bleibst und sagst: schiebt die ersten 6 Umkleidekabinen
an mir vorbei.
Ein eher praktisch veranlagter Mensch wird an den Kabinen 1 bis 6
vorbeigehen und in die 7. eintreten.
Sprich: du speicherst einfach den neuen Wert in die nächste Zelle,
addierst den Wert zu der Summe und subtrahierst von der Summe den um N
Speicherplätze zurückliegenden Wert.
Und weil du nicht unendlich viele Speicherplätze hast, musst du
irgendwann wieder von vorn anfangen.
BTW: die Arithmetik wird simpel, wenn N eine Zweierpotenz ist. Denn dann
gibt es kein Head und Tail-Herumgeeiere, sondern einfach nur einen
einzigen Pointer, der auf den ältesten Wert zeigt, der subtrahiert und
dann vom neuesten Wert überschrieben wird.