珍娱客>科技>ESP8266系列-基本外设操作>正文

ESP8266系列-基本外设操作

历史2022-05-140 次阅读

接着上一篇,可以下载n之后,开始测试下SDK下面的外设,利用手上的资源,看看效果。

ESP8266系列-基本外设操作ESP8266系列-基本外设操作

要开始玩外设,最好要看下NodeMCU的基本原理图(笔者的开发板应该是这玩意)

  • GPIO操作

LED小灯一个

ESP8266系列-基本外设操作

蜂鸣器

ESP8266系列-基本外设操作

也可以自己焊接LED发光二极管干。直接搞个面包板,要跟ESP8266共地,如果单独电源的话。

ESP8266系列-基本外设操作

这里挑选GPIO5.

源码要做一点修改,源码里面把中断打开了,还控制了两个OUT。这里直接用peripherals\gpio\main 下面的代码,直接拷贝到hello_world_main.c内容。

#define GPIO_OUTPUT_IO_0 5 //gpio 5

#define GPIO_OUTPUT_PIN_SEL ((1ULL<

gpio_config_t io_conf;

//disable interrupt

io_r_type = GPIO_INTR_DISABLE;

//set as output mode

io_de = GPIO_MODE_OUTPUT;

//bit mask of the pins that you want to set,IO15/16

io__bit_mask = GPIO_OUTPUT_PIN_SEL;

//disable pull-down mode

io_conf.pull_down_en = 0;

//disable pull-up mode

io_conf.pull_up_en = 0;

//configure GPIO with the given settings

gpio_config(&io_conf);

//类似stm32里面配置GPIO,输入还是输出,是否是open-drain mode。

ESP8266系列-基本外设操作

根据上一篇的文章,直接下载。

ESP8266系列-基本外设操作
  • ADC测试

直接把adc的task拷贝过来,为了方便观察,去掉了fast read

ESP8266系列-基本外设操作

添加到刚才的hello_world_main.c里面

ESP8266系列-基本外设操作

烧写,看效果

最终输出

ESP8266系列-基本外设操作

从这里看不出效果,adc读取一直是十几,手上也没有传感器,买了个温度传感器DHT11,还是数字串行的。直接用A0短接3.3,读数直接1024了,精度只有10位?查看了下规格书,的确只有10位,而且最好是测量0~1v,不要长时间短接3.3. 判断代码是否可以工作即可。

我们可以采集下VDD的电压,根据描述需要重新编译,设置vdd33_const位255,修改好后,重新编译下,源码也要做相应的调整

ESP8266系列-基本外设操作ESP8266系列-基本外设操作

改成255

最终输出效果

ESP8266系列-基本外设操作

注意:

  1. 很多串口工具没有74880,为什么刚下载了,必须是这个波特率,貌似跟BootLoader启动的时候的晶振有关,为了省事,最好用一个支持波特率74880的串口工具,观看程序输出的日志。这里推荐使用SecureCRT, 找不到的同学可以去我的百度共享里面下载。

下一步计划

  1. 调试下LCD屏,看看能否搞定SPI接口的1.44 寸屏幕。SDK里面的好像OLED,SPI通信按说都一样。
  2. 了解esp8266 的protocols, 以及components,这样才能写tcp,mqtt,http玩复杂点,高级点的业务,现在阿里,腾讯的服务器,一年几十块,搞个mqtt服务器+web前端,是不是一个迷你的物联网小demo就出来了。