https://www.cnblogs.com/yangfengwu/p/7514336.html

我们写lua用这个软件

如果点击的时候提示安装,,安装就行,,如果没有提示呢可以,按照下面链接的提示自己安装哈,,,,,或者自己百度

http://jingyan.baidu.com/article/3c343ff70bc6ea0d377963df.html

让这个灯亮

这个灯连接到了GPIO2,低电平点亮

gpio.mode(4,gpio.OUTPUT)--输出模式
gpio.write(4,0)--输出低电平  

这样的话这个灯就亮了

可能会有疑问,明明是GPIO2为什么填4

看资料

https://nodemcu.readthedocs.io/en/master/en/modules/gpio/#gpio-module

还有一个简介版的资料

对照表

现在下进去

可以先复位一下然后再执行操

对了要是经常出现编译或者下载到模块出问题.........一定是串口模块和WIFI模块通信之间有问题.....尽量使用好的杜邦线,,,尽量短,,,,,再者可以考虑换成pl2303或者CP2102等.......因为自己测试的这两种模块比较可靠

保存到芯片里面

关于

gpio.read()

引脚是低电平返回0,外部引脚是高电平返回1
如果设置的输出高电平,但是如果拉低了引脚,也是返回0,,,,和控制状态没有关系,只与
当前引脚的实际高低电平有关系

现在看定时器函数

第一个参数 一共可以同时使用7个定时器,,id号呢是0-6

第二个参数是延时多少ms执行最后面的函数

第三个参数是设置是只执行一次,,还是调用启动函数时执行一下,还是一直间隔第二个参数的时间执行最后面的函数

就让它每隔1s打印一下串口打印111111

[html] view plain copy
  1. gpio.mode(4,gpio.OUTPUT)
  2. gpio.write(4,1)
  3. function aa()--定义一个函数
  4. print("111111")
  5. end
  6. tmr.alarm(0, 1000, 1, aa)

0代表用的标号为0的定时器

1000代表延时1000ms执行aa

1代表

当然您填tmr.ALARM_AUTO也行,,,,,太长啦.....我还是选择填1

如果填写0,那么会延时1000ms然后打印一下111111,,就是第二个参数

如果还想执行一下就调用tmr.start(0)这个里面的0代表的标号为0的定时器....

当然啦关闭这个定时器tmr.start(0)

感觉第一个参数  tmr.ALARM_SINGLE = -1...只是感觉没有试过

更方便点呢

[html] view plain copy
  1. gpio.mode(4,gpio.OUTPUT)
  2. gpio.write(4,1)
  3. tmr.alarm(1, 1000, 1, function()
  4. print("111111")
  5. end)


可以看一下我这篇文章

http://www.cnblogs.com/yangfengwu/p/6404695.html

剩余的定时器的方法呢有可能tmr.delay(us) 会用到,,就是延时多少us......

看一下串口....

说一下哈...配置串口是一件及其危险的事情,为什么这样说呢!!

我们烧固件是通过串口,把我们编写的.lua文件保存到模块里面也是通过串口

如果说哈模块一上电就执行了我们配置的串口程序,,,,,那么我们想把新写的程序发给模块就可能写不进去.....造成一个bug了,,,,,

解决方案是

一,重新烧写固件

但是呢也有可能重新烧写固件也不能把以前写的.lua文件清除

二,先烧写别的固件,再烧写现在的

比如:可以先烧写一个AT指令的固件,让它运行一下,然后再重新烧写lua开发版本的,但是也有可能不能把以前写的.lua文件清除

三,修改程序保存的偏移量

您想哈,,我们的.lua程序肯定也在flash里面,,,我烧写固件时把偏移量调大肯定能把我们写的.lua代码给清除掉.要是调整后出现一直发乱码,,恭喜你哈,肯定覆盖到了先前的.lua了...然后呢我再把偏移量调整到0000重新烧写就好啦...

四,其实呢根本解决方案是烧写一个空的bin文件把原先的全都清空

这是空的bin文件

可以看这个,关于各个型号的模块的Flash大小

http://wiki.ai-thinker.com/_media/esp8266/esp8266_module_list.png

如果出现

等着格式化文件系统,,就等着哈

好现在做一个程序我发给串口什么数据,串口就回给我什么数据

下面的功能可以实现但是别这样写,我只是来解释函数....否则亲们就按照上面的方法刷固件把

第一个参数只有"data",,说明是接收串口的数据

第二个参数写0就是说串口接收的数据存在了Revdata里面,,,说一下哈Revdata是一个字符串变量,,接着看后面也会提及...写小于255的数就代表,接收到这个数目才执行uart.write(0,Revdata) ,,,,如果写别的"X" ,就代表接收到字符X后就执行uart.write(0,Revdata)

第三个参数是函数,串口接收到数据就会调用这个函数,并把接收到的数据存到Revdata里面然后调用uart.write(0,Revdata) 把数据再传回串口,,,参数0是说用串口0,,当然咱们使用的就是串口0,,,.其实还有串口1,,不过呢串口1只有TX引脚引了出来,还有串口2,不过呢

即使uart.write(2,Revdata) 写上串口2,信息还会默认发给串口0

第四个参数写0吧

第一种方案这样写

gpio.mode(4,gpio.OUTPUT)
gpio.write(4,1)

tmr.alarm(1, 2000, 0, function()

uart.on(</span><span style="color: #800000;">"</span><span style="color: #800000;">data</span><span style="color: #800000;">"</span>, <span style="color: #800080;">0</span><span style="color: #000000;">,function(Revdata)uart.write(</span><span style="color: #800080;">0</span><span style="color: #000000;">,Revdata)end, </span><span style="color: #800080;">0</span><span style="color: #000000;">)

end)

程序启动以后等待2s执行下面的函数,,定时器第三个参数写的0,所以这个定时器就关闭了

1.uart.on("data", 0,function(Revdata)
2.
3.            uart.write(0,Revdata)
4.
5.    end, 0)  

只要一执行这个函数,那么以后串口接收到数据就会执行

uart.write(0,Revdata)

现在用串口助手测试一下

现在我假如修改了程序想重新写入芯片

复位芯片后赶紧点击,,当然有两秒时间

如果程序小有时候可以直接

如果程序大点,,可以再复位一下模块然后再...当然假设下载的时间不会超过两秒

假设程序很大

复位芯片后赶紧点击,,当然有两秒时间

然后看这里

ESPlorer初步:固件烧写,资料下载(转自杨奉武博客)相关推荐

  1. 使用UsbAsp给UNO烧写bootloader ATMEGA16U2、ATMEGA328P固件烧写教程

    arduino板由于操作不发导致固件损坏,或者想更新固件怎么办?今天给大家介绍一下如何使用UsbAsp烧写bootloader.个人认为,此种方法比使用TinyIsp要方便并且成本更低. 首先确保手上 ...

  2. 使用USB转TTL下载器将固件烧写到STM32F103C8T6最小系统板中

    使用USB转TTL下载器将固件烧写到STM32F103C8T6最小系统板中 1.设置keil5,生成hex文件 2.下载安装CH340驱动 3.下载安装mcuisp或Flymcu 4.接线并下载程序 ...

  3. linux/windows上STM32固件烧写工具的开发demo

    1.主要实现功能:完成对HEX和DFU文件的烧写,显示烧写的进度等功能 2.开发工具:Qt creator4.9.0 3.开发系统平台:windows系统和linux系统两套平台 4.具体开发步骤: ...

  4. win10系统Jinlk固件烧写

    出现的问题:keil再用jlink下载器给单片机下载程序时候,突然卡住之后,jlink下载器的指示灯熄灭不亮,连接单片机板子也会造成单片机板子被短路.此时在keil魔法棒配置中的Debug下面选择jl ...

  5. ESP8266机智云固件烧写和app连接

    1准备材料 1.USB转TTL(驱动得安装) 2.ESP8266(我这个是乐鑫) esp8266引脚说明 3.ESP8266固件烧写工具 4.ESP8266 Flash固件库 5.机智云串口调试助手 ...

  6. 【TI-mmWave】一、IWR6843ISK-ODS毫米波雷达【固件烧写和上手使用】流程

    文章目录 基础知识 上手使用 1.USB串口驱动 2.UniFlash 项目需要,使用TI的IWR6843ISK-ODS这款毫米波雷达,记录一下自己摸索和上手的过程~ 在探索过程中,参考了 https ...

  7. 蓝宙ARM仿真器固件烧写说明

    蓝宙ARM仿真器固件烧写说明 ARM下载器本身是采用CMSIS-DAP协议的,这个协议对于ARM单片机的使用用户来说可能比较陌生,如果大家还使用不习惯也可以将下载器刷写为我们常用的JLINK下载器,不 ...

  8. micropython8266ota_[Micropython]TPYBoardV102 Dfu固件烧写教程

    TPYBoardv10x固件烧写一直是大家比较关心的问题,上次教大家用SWD接口烧写TPYBoard的固件,这次教大家用另一种方式烧写我们TPYBoardv10x的固件,直接用dfu模式烧写固件. 用 ...

  9. MEGA UNO固件烧写教程

    自制MEGA UNO核心板教程@TOC 最近芯片价格疯涨,于是我赶紧收拾一下历年来收集各种各样的芯片,发现手里有好多ACR的Atmega328p的芯片,于是想着与其堆灰不如利用,所以制作了一批mega ...

最新文章

  1. 图灵5周年系列活动之“有奖DEBUG”
  2. linux之dup和dup2函数解析
  3. 请问为什么像cellspacing=0和bgcolor=red的属性在style里面不起作用呢?
  4. 【OpenCV学习】矩阵基本操作
  5. Linux基金会:Linux已经战胜微软
  6. canvas的简单实例集合
  7. SAP Cloud for Customer的后台作业
  8. BZOJ 1601 [Usaco2008 Oct]灌水 (最小生成树)
  9. pip工具使用总结以及常用库PIL、freetype的安装
  10. 雅士利牵手阿里云实现新零售改造,双11全渠道成交金额同比增长超过200%
  11. 2019年程序员薪酬报告:平均年薪超70万!40岁后,这类人不“保值”了
  12. Elasticsearch 实战2:ES 项目实战(二):基本操作、批处理、高级查询
  13. python数据库增删改查_python对数据库mysql的操作(增删改查)
  14. Maven安装及与Eclipse集成
  15. Mongodb 学习
  16. 直播系统源码,直播系统源码, 直播app系统源码
  17. jpg转pdf怎么转换?
  18. html动态显示背景颜色,js动态修改背景颜色方法汇总
  19. (二)GNSS定位中的卫星轨道位置计算
  20. 固高运动卡的使用 5 插补运动模式之-直线插补运动

热门文章

  1. 关于近期计算机职业新闻,工科类专业“钱景”排行,计算机已成过去式
  2. 早产的2016年终总结
  3. python网页编辑器-史上超强 Python 编辑器,竟然是张网页?!
  4. linux切换用户时为什么会显示“认证失败”
  5. Dell T110 服务器安装
  6. 在线图片制作网站哪个好 PS图片处理教程
  7. PHPExcel 属性操作
  8. windbg+psscor2调试.net程序
  9. 怎么把照片分辨率变高?拍的照片如何调整分辨率?
  10. php用户第三方登录失败,php 实现网站端qq第三方登录接口及一些注意事项【原创】...