一文速通ESP8266NodeMCU(基于ArduinoIDE)——万字爆肝含示例代码
ESP8266,点击此处黄色字体领取文章中的配套资料
ESP8266是一款由乐鑫(Espressif)公司开发的芯片。
一般来说,搭载了ESP8266芯片,长得像下面的这样的开发板就叫ESP8266NodeMCU。
可能会有些许不同,但是只要芯片上写着ESP8266的就没问题。因为随便来个人搞个ESP8266的芯片都可以搞个自己的ESP8266NodeMCU。
ESP8266内部集成了WiFi,所以可以作为WiFi模块(我干过,用STM32去采集数据,然后通过串口通信传给ESP8266,再由ESP8266把数据上传到服务器),也可以作为独立的微控制器。
接下来我们就开始用ArduinoIDE来编写程序速通一遍ESP8266NodeMCU。(需要对单片机有点基础,否则一些名词会听的稀里糊涂)
ArduinoIED环境配置
要使用ArduinoIED编写ESP8266NodeMCU的程序,我们需要有ESP8266开发板的资源包,这个我们可以去电灯科技的官网里找离线安装包。
包括ESP32的资源也有。
我们点击下载之后会跳转到Arduino中文网,跟着步骤下载即可。得到一个exe文件,直接执行就好了。
然后在ArduinoIDE中按照下面选择即可(不是我不截图,一用快捷键截图这些选项就不见了,所以只能拍照了)
GPIO
要学习一款芯片,我们先成为电灯大师再说。
我们能用的ESP8266NodeMCU的GPIO口其实挺少的。
GPIO口看着不少,其实右边那一排的GPIO口我们是用不了的(不作为普通的GPIO口使用,其他特殊用途可以),因为它们是用来控制内部存储单元的。就记着A0口在的那一排的其他GPIO用不了。
然后左边一排的GPIO中,GPIO1和GPIO3被用来串口通信,一般也不用作其他用途,所以能用的GPIO口其实少的可怜。
那我们就先点个灯吧。
闪烁LED
配置GPIO口模式
pinMode(uint8_t pin, uint8_t mode);
第一个参数可以直接填入ESP8266NodeMCU开发板上的标注,例如“D0”,也可以填入数字,例如D0实际上是GPIO16,因此填入数字16也是可以的。
第二关参数配置模式,简单来说我们就使用三种,OUTPUT,INPUT,INPUT_PULLUP,分别是输出,输入,上拉输入,其实可配置的模式不止这三种,但是这三种是最常用的。
数字输出
digitalWrite(uint8_t pin, uint8_t val);
第一个参数就是指定GPIO口,跟上面一样。
第二个参数直接写数字即可,1就是高电平,0就是低电平。
点亮LED
void setup() { // put your setup code here, to run once: pinMode(D0,OUTPUT); //等价于pinMode(16,OUTPUT); digitalWrite(D0, 1); //等价于digitalWrite(16, 1) } void loop() { // put your main code here, to run repeatedly: }
以防有小伙伴不清楚这种格式的代码编写(因为51和32都是写main函数的),这边稍微解释一下。我们写在setup函数里的是配置东西的代码,只会执行一次,而写在loop函数里的是会一直循环执行的东西,可以理解为我们51,32代码里的while(1)。
这样我们先配置了GPIO口,再输出高电平,然后再接上LED就可以实现点亮LED的操作了。
完整代码可进群免费领取!!!
嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!
- 赞