Arduino技术问题:如何获取循环中变量的首次测量值作为固定变量
解决循环中获取首次体积读数的问题
核心思路是添加一个首次执行标志位,只在循环第一次运行时将volume赋值给Finitial,后续循环跳过该赋值操作。
修改后的代码示例
// 在循环外初始化标志位,确保只初始化一次 bool isFirstRun = true; // 你的循环体(比如while/for循环)内的代码 TLIvolume = checkDist() * 25.4 * 15.24; volume = 5890 - TLIvolume - 276.53; Ffinal = 276.53; if (isFirstRun) { Finitial = volume; isFirstRun = false; // 标志位置为false,后续不再执行赋值 }
关键说明
- 把
isFirstRun的初始化放在循环外部,保证它只会被设置为true一次,不会每次循环都重置。 - 首次进入循环时,
isFirstRun为true,执行Finitial = volume后立刻将标志位设为false,后续循环迭代中这个赋值逻辑就会被跳过,从而保留volume的首次读数。 - 如果代码是在函数内循环,注意
isFirstRun的作用域:可以用静态变量static bool isFirstRun = true;,或者把标志位设为全局变量/类成员变量,根据项目结构选择最合适的方式。
内容的提问来源于stack exchange,提问作者Jacob Kramer
相关产品推荐
相关产品推荐

