0

µC のピンからアナログ値を読み取っています。値が を超えて変化していないか定期的に確認したいx。ここでは、abs()関数を使用していますが、シンプルに保ちたいと考えています。手伝って頂けますか?

int algVal= 0;
int oldVal = 0

while(1){

  algVal = getAlgVal();

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

  oldVal= algVal:

}
4

1 に答える 1

1

これは素晴らしいアプローチのように聞こえますabs()が、整数は安価であるため、実行時のパフォーマンスの点ではおそらく非常に優れているでしょう。疑問がある場合は、もちろん生成されたアセンブリを読んでください。

于 2012-01-26T10:05:42.500 に答える