Проверьте, находится ли аналоговое значение в пределах порогового значения
Вопрос
Я считываю аналоговое значение с вывода на микроконтроллере.Я хочу периодически проверять, изменилось ли значение больше, чем x
.Здесь я использую abs()
функция, но я хочу, чтобы она была простой.Вы не могли бы мне помочь?
int algVal= 0;
int oldVal = 0
while(1){
algVal = getAlgVal();
if(abs(algVal - oldVal) > x)
{
doStuff();
}
oldVal= algVal:
}
Решение
Это звучит как фантастический подход и, вероятно, было бы очень неплохо с точки зрения производительности во время выполнения, abs()
для целых чисел это дешево.Если вы сомневаетесь, конечно, прочтите сгенерированную сборку.
Не связан с StackOverflow