开发者学堂课程【嵌入式之 RFID 开发与应用2020版:Wifi-nodeMCU-esp8266 GPIO 调试注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/665/detail/11206
Wifi-nodeMCU-esp8266 GPIO 调试注意事项
基本介绍已经讲解完成,下面进行实操,实操以芯片的 GPIO 资源为例进行简单介绍。
一、GPIO 实操
主要引脚通过游飘口引到两侧,芯片供电非常灵活可以支持 3.3v 供电输出,如果通过 USB 供电可以得到 5v 电压。如果驱动继电器 5v 电压已经足够使用,如果是其他模块如温湿度传感器那么 3.3v 也足够使用,取余的是 IO。这个模块很优秀,可以直接连接电池即把左侧 VIN 与 GND 连接电池然后用漂亮的盒子封装即可得到产品,可以直接售卖,因为该开发板经过验证比较可靠稳定。剩余的 IO 接口有一些对应关系每一个叫法都不一样,对于芯片来说叫 GPI0,GPI1……对于 nodeMCU来说对其进行编号 D0,D1……在开发是又有两外一种叫法;虽然叫法多种多样,只要可以一一对应即可,如果不能记住可以进行测试对应关系。
接下来看一个案例,案例中 LED 等于 4 表示操作第四个管脚,4 对应 D4 即开发板上的编号,D0 对应的灯在开发板的左下方而 D4 对应的灯是右上角的灯,D4 对应的灯是核心板的灯 D0 对应的灯是底板的灯。该案例操作核心板上的灯,代码中gpio.mode 设置模式,三个参数;为了学习便利可以打开中文学习手册对照查看,查看关于 GPIO 模块。三个参数首先第一个是引脚,引脚编号为 4 接下来是模式。模式有几种选择,gpio.OUTPUT 输出, gpio.INPUT 输入,gpio.INT 中断, gpio.HIGH 高低电平 ,gpio.LOW 最后一个是上下拉,取值为:gpio.PULLUP 上拉or gpio.FLOAT 下拉,默认为 gpio.FLOAT。
接下来是一个 for 循环,i 从 0 到 20,do,end 中是循环体不适应花括号包围循环体。gpio.write(led,gpio.LOW) 把第四个 IO 置成低电平;tmr.de1ay(3,00*1000)--us,延时单位为毫秒为三百乘一千毫秒;过一会在变为高电平。持续循环 20 次灯连续闪烁。
调试工具一般采用 SPlorer 打开工具前,需要安装 JDK 环境因为是 java 语言需要安装 jdk 工具,jdk 安装后执行 ESPlorer,bat 文件,直接点击即可打开后需要等待一下。首先点解 OPEN 找到刚才的文件。
打开文件后需要确定开发板于串口是否连接,在右侧找到 COM6 如果没有串口需要点击刷新按钮,然后点击 刷新 按钮旁的 OPEN,
模块中没有任何文件,因为刚刚把固件下进去其中没有任何代码。右侧的 Reload是加载的意思,加载模块内部的文件而模块中没有任何一个脚本文件所以显示为空。接下来把打开的代码下载到模块中,如果在软件外对文件进行修改一定要点击 左上方的 reload ,下载时需要点击 Save,需要先点击 CTRl+S 保存文件然后在点击 Save。下载完成后灯开始闪烁,闪烁 20 次停止;停止闪烁后再次启动可以点击右侧 Reload 刷新模块中的文件然后单机需要执行的文件即可。刷新后脚本会在 Reload 下方一一列举。
首先点击 Open 打开代码文件,使用 Reload 更新代码文件,先点击 CTRl+S 保存文件然后在点击 Save下载。然后点击右侧 Reload 运行文件。此工具比较好用,在模块中下载后界面中会有一个比较详细的展示如脚本名称,脚本所占字节大小 ,整个程序占用多少字节。
如果在使用时出错,有一下几种建议:第一种点击右侧 Reload ,如果还是不行可以断电后重新连接。这是从简单的 GPIO 操作来了解工具的使用。
可以对代码进行简单的修改,增加一个灯 D0 即第零个管脚;为了更有效果可以让两个灯一亮一灭。
编写完成后使用 Reload 刷新文件更新代码,CTRl+S 保存文件然后在点击 Save 下载。
下载完成后发现没有执行,点击右侧的 Reload,程序报错显示第七行有误,没有找到问题。如果觉得代码无误但就是提示有误这时可以把串口断开,断开电源然后再连接。点击 Open,然后 Reload 发现仍然报错,说明此方法没有解决问题。报错问题应该是编码格式的问题,因为工具会修改编码格式,如果代码在模块中不能执行建议把文件中的编码格式改为 ANSI。
修改完后重新,Reload 刷新代码,CTRl+S 保存文件然后在点击 Save 下载到模块中。加载完成后灯光安装预期交替闪烁。编码格式的问题需要注意一下。为什么每次切换后都有提示,是因为编码格式被工具 ESPlorer v0.2.0 修改,需要进行修改。即如果代码出现异常错误,先把文件编码格式转成 ANSI 编码,原因是ESPlorer工具会修改源码格式。