关于ESP8266 NodeCMU固件无法刷入新代码的解决方法

  在玩ESP8266时,有时候会无意中写了导致死循环的代码,或都某些函数传递了不合适的参数导致系统崩溃,这可能会导致ES8266不停地重启,这时我们发现无法刷入新的代码,也无法删除8266中的原代码。我曾经就因为这个问题报废了块板子。。。心痛。。。

  后来通过在网上找相关资料以及自己分析,总结了以下两个方法去避免以上情况:

原因分析:NodeMCU程序出现错误时,可能会导致ESP8266不停地重启,并且重启速度太快以至于我们都无法删除板子里的原代码(甚至重新刷ROM也无法刷入),更无法重新写入程序。为避免这种情况,可采用如下方法:

方法一:可以在开发调试阶段,在文件头加入如下代码:
gpio.mode(1,gpio.INPUT)
v=gpio.read(1)
print("--Security Port D1:"..v)
if(v==1) then
file.remove("init.lua")
print("--file init.lua removed.")
end
当无法刷入程序时,我们可以将GPIO1置为高电平,系统重启时便会自动删除代码文件。

方法二:.将核心代码不要放在init.lua中,启动时在init.lua中延迟一段时间后调用核心代码文件。
tmr.alarm(0, 2000, 0, function()
dofile("code.lua") ---加载的模块文件
end)
这样在核心代码出问题且无法刷入新的代码时,重启模块利用init.lua中的延迟间隔重新覆盖核心代码。

-----------------

By: ShadowlessWalker 2020年1月11日

原文地址:https://www.cnblogs.com/fubo/p/12179531.html

时间: 2024-08-01 22:14:24

关于ESP8266 NodeCMU固件无法刷入新代码的解决方法的相关文章

忘了pull,直接修改并且commit的问题--github上传内容前先检查别人有没有推送新代码的解决方法

早上来公司之后,忘了pull下最新的代码,就直接开始在本地做更改了,而且还给commit上去了,结果推不上去,然后看见"pull"那里显示了有内容没有pull下来,这下可糟了,当场就蒙圈了,不知道咋办,幸好有学长助阵,帮忙解决了这个问题. git add . //保存修改git commit -m "备注内容" //写好备注准备推送git pull  //在推送前看看别人有没有推送git status //查看是否有冲突如果有根据路径找到文件进行修改(这个是提示你下

ie8以下不兼容h5新标签的解决方法

HTML5新添了一些语义化标签,他们能让代码语义化更直观易懂,有利于SEO优化.但是此HTML5新标签在IE6/IE7/IE8上并不能识别,需要进行JavaScript处理. 解决思路就是用js创建html5中的新标签,代码如下: <script> (function() { if (! /*@[email protected]*/ 0) return; var e = "abbr, article, aside, audio, canvas, datalist, details,

让ie浏览器支持html5新标签的解决方法(使用html5shiv)

没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览器识别标签,需要新增标签,具体解决办法是: IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,代码如下: document.createElement('新标签'); / /新增创建新标签   方式一:Codi

easyui 后台页面,在Tab中的链接点击后添加一个新TAB的解决方法

1.示例1 新增一个按钮 添加点击事件 onclick="self.parent.addTab('百度','http://www.baidu.com','icon-add')" 如: <a href="javascript:void(0)" title="google" onclick="self.parent.addTab('百度','http://www.baidu.com','icon-add')">打开新T

steam送新用户礼物解决方法

由于steam新用户未进行充值进而激活账户,是无法主动添加他人为好友的. 网上送新用户的方法有说加好友送礼物的,但并没有具体说明.以下是博主亲测的送礼物方式: 让朋友登录steam后,点击个人资料,然后复制个人资料处的网页给你 图1 个人资料 图2 个人资料处需复制网页 打开个人资料的网址,添加朋友为好友(博主笔记本浏览器无法打开个人资料处网页,因此在手机打开) 图3 手机打开好友个人资料界面 添加好友成功后,就可以送朋友礼物啦! 遇到的坑: 网上说直接发邮件送,博主实在不知道怎么发,希望有人能

流氓 2345.com的新动态及解决方法

安装了[电脑公司]的Win7_SP1之后, IE的主页被绑架. 症状是先转到 IE959.com,然后自动跳转到 www.2345.com 网上当然有很多例子了,可是都没有效果. 1. 更改IE设置没有效果 2. 更改注册表,没有效果 a. HKLM\Microsoft\Internet Explorer\Main\Start Page b. HKLM\SOFTWARE\Baidu\BaiduProtect\LockIEStartPage 3. 卸载流氓 baiduprotect.exe , 还

[Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

1 前言 经过一周的奋战,终于从谷歌官网上下载最新的android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载android系统源码,修改定制,然后编译刷入安卓手机,想想还有点小激动呢.简单点说一句话--定制我们自己的MIUI,这就是android的魅力,这篇博客博主就来教大家实现自己的定制系统. 首先,要明白下面的基础知识: (1) 什么是aosp? aosp就是android open source p

快速刷入recovery的方法

对于经常刷机的安卓手机用户来说,刷入第三方Recovery是必不可少的一道步骤,但是如果用以往的方法来刷入recovery会很繁琐,很复杂让许多小白用户望而却步,所以,在这里跟大家分享个轻松一键刷入recovery的方法. 首先,我们要明白recovery模式是什么意思?其实Recovery模式指的是一种可以对安卓手机内部的数据或系统进行修改的模式(类似于windows PE或DOS).在这个模式下我们可以刷入新的安卓系统,或者对已有的系统进行备份或升级,也可以在此恢复出厂设置. 现在,开始我们

NodeMCU入门(2):自定义构建、刷入固件,上传代码

准备工作 1.NodeMCU模块 2.ESP8266Flasher.exe 3.ESPlorer v0.2.0-rc6 构建固件 Building the firmware提供了三种构建你自己固件的方式. 这里推荐使用简单的云构建服务NodeMCU custom builds来定制自己的固件,只需要在该网站选择你需要的库,留下邮箱,不一会就能收到编译好的固件. 我选择了这些库:cjson,crypto,file,gpio,http,mqtt,net,node,pwm,tmr,uart,wifi,