感觉问题没讲清楚,我修改一下:
if(T>300){A}else{B}
######然后我希望仅仅这一小段代码每0.5s判断一次,就是0s、0.5s、1.5s...做一次判断,然后0-0.5s、0.5s-1s...就一直执行A或者B
######
我是这样想的,但是不行
for(double t =0;t<50;t=t+0.5)
{
if(runTime.value()==t and T<300)//runTime.value()获取当前时间
{
if(t <= runTime.value() < t+0.5) {A}
//如果0s温度<300度,那么0-0.5s都执行A
}
if(runTime.value()==t and T>=300)
{
if(t <= runTime.value() < t+0.5) {B}
}
}
策略可以有多种:
感觉你不知道自己在说什么呀,你知道0.5s如果一直执行,能执行多少次吗,按2GHz算,0.5s能执行10亿次
已解决,谢谢大家!
bool flag ;
for (double t = 0;t<100;t=t+0.5)
{
if (t <= runTime.value() < t+0.5)
{
if (T > 300 and runTime.value() == t)
{flag = true;}
if (T <= 300 and runTime.value() == t)
{flag = false;}
}
}
if(flag){A}
if(!flag){B}