Добавлено after 2 minutes 33 seconds:
И да, программа будет на СИ.
Не обязательно отсекать. Классический медианный фильтр - сортировка N значений по возрастанию и выбор значения из середины отсортированного массива. А еще есть фильтр Калманаотсечь с права и с лева несколько показаний
Допустим, вы получили значенияДля медианы нужно отбрасывать крайние значения до оставления одного.
Код: Выделить всё
int a;
int u, ub;
ADCSRA=0b10000101; // вкл. ADC // 8 МГц/32=250.000 Hz
//////////////////////////////////////////// ADC:
ADMUX=0b01000101; // канал 5
delay_us(10); // стабилизация входа...
ADCSRA|=0b01000000; // Старт преобразования.
while (ADCSRA & 0b01000000); // При завершении преобразования этот бит сбрасывается аппаратно.
//////////////////////////////////////////// ADC:
a=ADCW/2;
if (a>ub+1) {u=a/2; ub=a;};
if (a<ub-1) {u=a/2; ub=a;};
//u - выход
Допустим, вы получили значения][/uquote]Для медианы нужно отбрасывать крайние значения до оставления одного.