本帖最后由 dfrobot 于 2019-5-30 21:53 编辑
简介 该esp32 arduino教程旨在解释如何使用Arduino核心在ESP32开发板上执行软件重置。 本ESP32教程的测试是使用集成在ESP32开发板中的DFRobot的ESP-WROOM-32设备进行的。
Arduino代码 我们将通过打开串行连接启动我们的安装功能代码,这样我们就能够输出一条消息,指示整个程序已启动。 [mw_shl_code=applescript,true]
Serial.begin(115200);[/mw_shl_code]
然后我们将所提消息打印到串口,这样我们就可以知道ESP32何时重新启动,并且从一开始就再次运行。
[mw_shl_code=applescript,true]Serial.println("Restarting in 10 seconds");[/mw_shl_code]
之后,我们将在实际重启设备前保留10秒的微小延迟。为此,我们只需调用延迟函数,该函数接收等待的微秒数作为输入。
[mw_shl_code=applescript,true]delay(10000);[/mw_shl_code]
最后,我们将通过调用ESP对象上的restart方法重新启动ESP32。此方法不接收任何参数并返回void。 此ESP对象是EspClass类的外部变量,需在此处进行定义。您可以在上一个链接中查看此对象公开的一些其他有趣的系统函数。 请注意,我们不需要执行任何库include来访问此对象,默认情况下该对象可用。
[mw_shl_code=applescript,true]ESP.restart();[/mw_shl_code]
最终完整Arduino代码如下所示。
[mw_shl_code=applescript,true]void setup() {
Serial.begin(115200);
Serial.println("Restarting in 10 seconds");
delay(10000);
ESP.restart();
}
void loop() {}
[/mw_shl_code]
代码测试 您应该会得到一个类似于图1的输出,它将多次显示程序的初始串行打印输出,这意味着ESP32确实被重置,程序从一开始就再次运行。
图1 - 通过软件重启ESP32开发板。
注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。 他写了200多篇有关ESP32、ESP8266的有用的教程和项目。
查看更多ESP32/ESP8266教程和项目:
|