首页 > 解决方案 > ESP8266 上的循环多线程问题

问题描述

我将 Nodemcu 用于我的 IoT 项目,我应该使用 PHP。当我按下网站上的按钮时,我正在尝试更改功能。我的 func1 与毫秒有 1000 毫秒的延迟。func2 有 360000ms 的延迟,所以我无法将 func2 更改为 func1。我尝试了很多方法,我该怎么做?

我的代码是这样的:

void func1() {
  // code for manuel GPIO control 
  // millis....
}

void func2() {
  // code for automatic GPIO control 
  // millis....
}

void loop() {
  // millis....
  if (payload == 1) {
    func1();
  } else if (payload == 0) {
    func2();
  }
}

标签: if-statementiotesp8266nodemcu

解决方案


Arduino 不支持多线程,但您可以使用不同的编程技术使您的程序无阻塞地工作,例如Blink Without Delay


推荐阅读