Проверьте, находится ли аналоговое значение в пределах порога - PullRequest
0 голосов
/ 26 января 2012

Я читаю аналоговое значение с Пина на микроконтроллере. Я хочу периодически проверять, изменилось ли значение более чем x. Здесь я использую функцию abs(), но хочу, чтобы она была простой. Вы можете мне помочь?

int algVal= 0;
int oldVal = 0

while(1){

  algVal = getAlgVal();

  if(abs(algVal - oldVal) > x)
   {
    doStuff();
   }

  oldVal= algVal:

}

1 Ответ

1 голос
/ 26 января 2012

Звучит как фантастический подход и, вероятно, был бы очень хорош с точки зрения производительности во время выполнения, abs() для целых чисел дешево. Если есть сомнения, прочитайте сгенерированную сборку, конечно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...