查看: 117|回复: 1

[Arduino] ESP32 Arduino教程:软件重置

[复制链接]
简介
该esp32 Arduino教程旨在解释如何使用Arduino核心在ESP32开发板上执行软件重置。
ESP32教程的测试是使用集成在ESP32开发板中的DFRobot的ESP-WROOM-32设备进行的。


Arduino代码
我们将通过打开串行连接启动我们的安装功能代码,这样我们就能够输出一条消息,指示整个程序已启动。
[AppleScript] 纯文本查看 复制代码
Serial.begin(115200);

然后我们将所提消息打印到串口,这样我们就可以知道ESP32何时重新启动,并且从一开始就再次运行。

[AppleScript] 纯文本查看 复制代码
Serial.println("Restarting in 10 seconds");

之后,我们将在实际重启设备前保留10秒的微小延迟。为此,我们只需调用延迟函数,该函数接收等待的微秒数作为输入。

[AppleScript] 纯文本查看 复制代码
delay(10000);

最后,我们将通过调用ESP对象上的restart方法重新启动ESP32。此方法不接收任何参数并返回void。
此ESP对象是EspClass类的外部变量,需在此处进行定义。您可以在上一个链接中查看此对象公开的一些其他有趣的系统函数。
请注意,我们不需要执行任何库include来访问此对象,默认情况下该对象可用。

[AppleScript] 纯文本查看 复制代码
ESP.restart();


最终完整Arduino代码如下所示。

[AppleScript] 纯文本查看 复制代码
void setup() {
  Serial.begin(115200);
  Serial.println("Restarting in 10 seconds");
  delay(10000);
  ESP.restart();
}
void loop() {}

代码测试
如需测试代码,只需编译它并将其上传到[url=https://www.dfrobot.com/product-1559.html]ESP32[/url]板即可。然后,打开Arduino IDE串行监视器。
您应该会得到一个类似于图1的输出,它将多次显示程序的初始串行打印输出,这意味着ESP32确实被重置,程序从一开始就再次运行。

1 esp32-arduino-software-restart.png

图1  - 通过软件重启ESP32开发板。


注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。
他写了200多篇有关ESP32、ESP8266的有用的教程和项目。

查看更多ESP32/ESP8266教程和项目:
中文版教程 : ESP32教程 合集
英文版教程 : ESP32 tutorial 合集



诺威  学徒

发表于 2019-5-7 17:05:08

HAO6666666666666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail