我正在写一个车库门开启器和监视器。
监视器通过另一个 Arduino over RF (315 MHz)接收门状态。下面的代码有效,但我觉得我不应该每次向服务器发出请求开门时都需要检查状态。有没有办法把代码拆分出来,让我每20秒检查一次门的状态,车库的开关是按需的?
我正在写一个车库门开启器和监视器。
监视器通过另一个 Arduino over RF (315 MHz)接收门状态。下面的代码有效,但我觉得我不应该每次向服务器发出请求开门时都需要检查状态。有没有办法把代码拆分出来,让我每20秒检查一次门的状态,车库的开关是按需的?
基于这篇文章:http ://arduino.cc/forum/index.php/topic,5686.0.html
我能够为我的应用程序添加类似多线程的功能。源代码已更新以反映更改。
这是相关的部分:
boolean cycleCheck(unsigned long *lastMillis, unsigned int cycle)
{
unsigned long currentMillis = millis();
if(currentMillis - *lastMillis >= cycle)
{
*lastMillis = currentMillis;
return true;
}
else
return false;
}
这是任何可能受益的人的 github 代码: https ://github.com/dhysong/ArduinoGarageOpener/blob/master/src/GarageDoorOpener/GarageDoorOpener.ino