我正在运行switch
case
循环以获取设定值的值,将其发送到我的AC以更改温度设定点,但是该循环连续运行我想激活的开关回路ESP8266是否获得新的设定值。
这是我正在使用的代码:
int set = root["set_point"];
switch(set) {
case 31:
Serial.println("SET TEMP 31");
break;
case 30:
Serial.println("SET TEMP 30");
break;
case 29:
Serial.println("SET TEMP 29");
break;
}
}
任何解决方案!
感谢所有人
答案 0 :(得分:0)
您只需要保存set
的最后一个值,并检查新值是否更改,然后再处理switch
情况。
int set_last_value = 0;
int set = 0;
void setup()
{
// ...
}
void loop()
{
if ((set = root["set_point"]) != set_last_value)
{
switch (set)
{
case 31:
Serial.println("SET TEMP 31");
break;
case 30:
Serial.println("SET TEMP 30");
break;
case 29:
Serial.println("SET TEMP 29");
break;
default:
break;
}
set_last_value = set;
}
}