if-statement - 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();
}
}
解决方案
Arduino 不支持多线程,但您可以使用不同的编程技术使您的程序无阻塞地工作,例如Blink Without Delay
推荐阅读
- regex - 不显示字母数字正则表达式格式的密码验证消息
- awk - How to replace some particular column values in a file from the columns of other file
- sql - 如何在 SQL 的单列中显示多列?
- google-analytics - 为什么我的跟踪链接 Source/Medium 显示为 EmailCampaign/email
- c - 如何正确检查调试器?
- r - 在 emacs ess 中编辑 R 函数时的变量范围
- ubuntu - 尝试使用 minikube 运行 kubectl get pods 时无法读取客户端证书和客户端密钥
- google-chrome - Chrome 扩展:何时需要 activeTab 权限
- reactjs - 材质UI核心多选
- javascript - 使用 javascript 和 php 在段落之间动态放置图像