ESP8266有两种重启方法,分别为:ESP.reset()
和ESP.restart()
,很多人代码中都用ESP.reset()
重启,但是通常情况下使用ESP.restart()
会更好,
这两者区别如下:
ESP.reset()
是一个硬复位,这种重启方式可能会使一些寄存器回归到原始状态,即丢失寄存器数据,这会导致重启后的程序出现问题,它或多或少像计算机上的复位按钮。
ESP.restart()
是通过向ESP8266的SDK发送信号重启,而不是简单粗暴的复位,所以它是一个更‘软’的重启方式。
所以,把你代码中的ESP.reset()
换成ESP.restart()
吧!
参考链接:
hanging ESP.restart() · Issue #1722 · esp8266/Arduino · GitHub