我正在将 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();
}
}
Arduino不支持多线程,但您可以使用不同的编程技术使您的程序无阻塞地工作,例如Blink Without Delay
arduino框架/esp8266确实支持多任务处理。 下面是如何执行此操作的简单示例。
https://medium.com/@srmq/cooperative-multitasking-on-the-esp8266-arduino-665a040457c8