Ja robię to tak i działa w miarę dobrze
oczywiście w kodzie mam zadeklarowane potrzebne zmienne oraz tablicę.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
w sumię to nie wiele się różni ode tego co Wy oraz Pan Mirek zaproponowaliście.
Teraz powiem jak chce to wykorzystać. Chcę to wykorzystać w dwóch miejscach w programie, przy odbiorze danych z uartu ( przesył wartości jedna po drugiej).
Oraz chcę wykonywać pomiar ADC co 30 sekund np. if(licznik_sek==30). Chciałbym aby wartość pomiaru, która będzie w zmiennj pomocniczej trafiała na pierwsze miejsce w tablicy, była przesuwana i tak w koło . Mi się wydaje że liczona średnia z tych pomiarów to będzie tzw. moving average. Czy dobrze mi sie wydaje , czy jestem w błędzie i powinienm jeszcze dokładnie doczytać co to jest moving average. Wiem ze jest kilka rodzajów tej średniej ( np. ważona średnia ruchoma) . Ale mi chodzi o tą podstawową.
Ogólnie to zastanawiałem się czy w chwili if(licznik_sek==30) nie wykonywać już 10 pomiarów a nie tylko 1 . Ale pomyslaem ze przy pomiarze wolno zmiennych napięć no to w czasie dokonania tych 10 pomiarów , to wartosci nie bedą miały wielkiego rozrzutu. A tak wgl to przecież gdybym chciał w 1 sekundzie zapełnić tablice 10 elementową wartościami pomiarów, to podejrzewam ze chyba by to nie funkcjonowało do końca dobrze przy takim zapisie if(licznik_sek==30) , ponieważ czas w jakim dokonuje się tutaj pomiar wynosi 1 sekundę, a awięc to chyba za krótko aby wpisyać 10 wartości do tablicy .
Takie dziwne kwestie mi po głowie krążą, większość z nich jest spowodowana brakiem większego doświadczenia, to odrazu mówię zresztą i chyba widać. Ale dlatego pisze tematy w dziale rybnym, żeby nie bruździć moimi zagadkami w miejsu gdzie są poważne rozważania ;p