假设我每毫秒输入一次数据。5秒后,我想输出最后5秒时间窗口的MAX和MIN值。
这里有什么比较频繁整数的最快方法…
看起来没问题,除了一些细节之外,你的功能没有太多优化:
void
a
currentMIN
currentMAX
MIN
MAX
static
这是修改后的代码:
void myMainFuntion(void) { static int currentMIN = 30000; // Just initialize to a value that will never be output by getSensorData static int currentMAX = 0; static int acquisition_counter = 0; int a; a = getSensorData() // called every 1 ms if (a > currentMAX) { currentMAX = a; } if (a < currentMIN) { currentMIN = a; } acquisition_counter++; if (acquisition_counter == 5000) { output(currentMAX); output(currentMIN); currentMAX = 0; currentMIN = 30000; acquisition_counter = 0; } }