2012-01-26 5 views
0

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

int algVal= 0; 
int oldVal = 0 

while(1){ 

    algVal = getAlgVal(); 

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

    oldVal= algVal: 

} 
+0

что не так с кодом? – duedl0r

+0

Насколько проще вы этого хотите? Это будет сложно. –

+0

Я не вижу, насколько проще это получить. Как я могу вам помочь? – thiton

ответ

1

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

Смежные вопросы