我正在使用Particle.io
固件版本 2.1.0,并且我正在尝试将一个函数作为一个类的成员,该类将采用一个参数,int waitForDuration
并将循环直到类的公共成员更改为 valuetrue
或持续时间已过期剩余的价值false
。我试图编写一个这样的函数,我将在下面提供,这个函数在几次调用中按预期工作,最终它将不再等待布尔值,而是立即返回 false。如果有人可以就正在发生的事情/为什么提供任何见解,将不胜感激。谢谢!
文件
我的类.h
#ifndef MyClass_h
#define MyClass_h
namespace MyClass
{
class MyClass
{
public:
bool publicFlagMember;
bool waitForFlag();
}
}
我的类.cpp
我之前尝试过的功能
bool waitForFlag(uint16_t timeout)
{
uint16_t timer = millis();
while (millis() - timer <= timeout)
{
// call Particle.process() to ensure that when the variable changes we catch it
delay(200);
Particle.process();
if (publicFlagMember)
{
return true;
}
}
return false;
}