NodeMCU wdt重置是由于程序出现死循环或者异常情况导致的。在你的代码中,可能是由于延迟(1000)导致的,因为当延迟时间过长时,程序会被挂起而没有机会处理其他任务,从而引发wdt重置。尝试缩短延迟时间或使用非阻塞延迟(例如millis()函数)。
另外,建议你在digitalRead之后检查传感器值是否为有效值,并在串行监视器中输出调试信息,以便诊断问题。例如,你可以添加以下代码:
int sensorValue = digitalRead(mwsensor);
if (sensorValue == HIGH || sensorValue == LOW) {
Serial.print("Sensor value: ");
Serial.println(sensorValue);
} else {
Serial.println("Invalid sensor value");
}
这样可以帮助你确定传感器是否响应,并排除一些可能的故障。
NodeMCU wdt重置是由于程序出现死循环或者异常情况导致的。在你的代码中,可能是由于延迟(1000)导致的,因为当延迟时间过长时,程序会被挂起而没有机会处理其他任务,从而引发wdt重置。尝试缩短延迟时间或使用非阻塞延迟(例如millis()函数)。
另外,建议你在digitalRead之后检查传感器值是否为有效值,并在串行监视器中输出调试信息,以便诊断问题。例如,你可以添加以下代码:
int sensorValue = digitalRead(mwsensor);
if (sensorValue == HIGH || sensorValue == LOW) {
Serial.print("Sensor value: ");
Serial.println(sensorValue);
} else {
Serial.println("Invalid sensor value");
}
这样可以帮助你确定传感器是否响应,并排除一些可能的故障。
举报