野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22201|回复: 16

ESP8266的应用分享,不仅仅是AT指令。

[复制链接]
发表于 2015-5-23 12:06:12 | 显示全部楼层 |阅读模式
本帖最后由 376262974 于 2015-5-23 12:15 编辑

看了火哥的视频这么多,这么久,火哥无私的奉献了这么多知识,我也要传承下火哥的精神。
最近在研究ESP8266。
ESP8266不仅仅只是玩玩AT指令,他有SDK,有自己的IDE,可以自行更改代码,可玩性非常高。
至于如何使用IDE,我这里不说明,我发个PDF。↓
我这主要讲下SDK的一些简单的运用,分享下例程和SDK的编程手册。
首先来个最简单的控制IO

GPIO管脚定义        
        
                头文件gpio.h        
        
                IO资源说明
                        
                          ESP8266除去FLASH的SPI接口外,剩有9个IO口资源,
                分别是:gpio0,GPIO2,GPIO4,GPIO5,GPIO12,GPIO13
                GPIO14,GPIO15,GPIO16

                gpio0,GPIO2,GPIO15用于确定系统的启动模式
        
        
GPIO0
GPIO2
GPIO15
运行模式
x
x
1
SDIO模式(不常用)
1
1
0
外部FLash启动
0
1
0
串口下载模式
        注:SDIO模式下,可使用外部MCU驱动内部的WIFI,此模式较少使用。
           外部Flash启动模式,系统启动后,GPIO0 GPIO2 GPIO15将被释放,可重新作为IO口使用。
           串口下载模式,程序在MCU内,可用于串口下载程序到FLASH中
           每次要切换模式,重须重启电源,只有MCU上电时,才会检查模式。                        GPIO16可作为睡眠唤醒IO口(控制方式与其他IO不同)
                GPIO12,GPIO13,GPIO15可作为硬件PWM输出
                GPIO12,GPIO14可作为硬件I2C控制(主机模式)        
                IO名称定义        
        
IO口
PIN_NAME
Mask
FunName1
FunName2
GPIO0
PERIPHS_IO_MUX_GPIO0_U
BIT0
FUNC_GPIO0
NULL
GPIO2
PERIPHS_IO_MUX_GPIO2_U
BIT2
FUNC_GPIO2
注[1]
GPIO4
PERIPHS_IO_MUX_GPIO4_U
BIT4
FUNC_GPIO4
NULL
GPIO5
PERIPHS_IO_MUX_GPIO5_U
BIT5
FUNC_GPIO5
NULL
GPIO12
PERIPHS_IO_MUX_MTDI_U
BIT12
FUNC_GPIO12
NULL
GPIO13
PERIPHS_IO_MUX_MTCK_U
BIT13
FUNC_GPIO13
NULL
GPIO14
PERIPHS_IO_MUX_MTMS_U
BIT14
FUNC_GPIO14
NULL
GPIO15
PERIPHS_IO_MUX_MTDO_U
BIT15
FUNC_GPIO15
FUNC_U0RTS
GPIO16
NULL(单独操作)
BIT16
NULL
NULL
        注[1]: FunName2:FUNC_U1TXD_BK   FunName3:FUNC_U0TXD_BK
          注:GPIO16与其他IO操作不同,使用单独的操作函数                          备注以上有PIN_NAME和Mask,均为宏定义,在后续的IO控制中将会使用到(作为参数)         
                GPIO功能设置        
        
                头文件gpio.h        
        
                函数原型1void PIN_FUNC_SELECT(PIN_NAME, FUNC);        
                        参数        
                        PIN_NAME: 管脚名,见GPIO管脚定义(PIN_NAME)
                FUNC :           功能,见GPIO管脚定义(FunName)        
                GPIO输入输出配置        
        
                头文件gpio.h        
        
                函数原型1void gpio_output_set(set_mask, clear_mask,enable_mask,disable_mask);
                        
        
                参数及功能
                        
        
                set_mask:    Mask值(指某路IO),表示要置为高电平的IO,0表示不改变状态
                clear_mask: Mask值(指某路IO),表示要置为低电平的IO,0表示不改变状态
                enable_mask: Mask值(指某路IO),表示使能IO口为输出,0表示不改变状态
                disable_mask:Mask值(指某路IO),表示使能IO口为输入,0表示不改变状态        
        
                注:Mask类型可参考GPIO管脚定义,如GPIO12,其Mask值为BIT12
以下IO控制的例程代码实用:
//配置管脚功能,
                  //配置 GPIO12  为 普通IO口
                  PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);
                 [url=]//设置 GPIO12 输出高电平
gpio_output_set(BIT12,0,BIT12,0);
[/url]
//设置 GPIO12 输出低电平
                gpio_output_set(0,BIT12,BIT12,0);

(是的,就是这么简短。)
犹豫文件太大只能存百度云了:http://pan.baidu.com/s/1pJICVN1  m26w
再分享个我直接基于8266模块控制LED的视频
(不单单是运用IO这么简单,用网页或者微信来控制LED开关,只是随便录的,没给你们看到内部的的确确是用8266一个单片机来控制的)
http://v.youku.com/v_show/id_XOTU0ODEzOTM2.html
注:我不是8266模块的什么推广员啊之类的,我只是普普通通的玩家,好玩的几乎都玩,只是觉得这个WIFI模块挺好玩的,可以弄很多东西。
这模块一般单片机能支持的功能他都有,比如:串口,i2c,spi,pwm(直接有代码调用),红外(最新版直接有代码调用)...只想起这么多
我看火哥只是单纯的用用AT指令,所以就发这个,能更全面的使用8266。
再分享个我基于AT的SDK添加的直接控制IO的指令固(内附说明了)。
                 就这么多了,吃饭。
(很乱,我是想到什么说什么,没这么排版,也没这么思考,将就看下吧!如果有什么不明白就留言吧。处女贴。。。)

AT指令固件支持IO.rar

135.19 KB, 下载次数: 144

回复

使用道具 举报

发表于 2015-5-23 13:46:03 | 显示全部楼层
威武
回复

使用道具 举报

发表于 2015-5-23 17:51:09 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2015-5-23 17:58:38 | 显示全部楼层
威武
回复

使用道具 举报

发表于 2015-8-15 20:22:44 | 显示全部楼层
支持,感谢
回复

使用道具 举报

发表于 2015-8-29 20:05:42 | 显示全部楼层
高!向楼主学习
回复 支持 反对

使用道具 举报

发表于 2016-1-23 01:41:15 | 显示全部楼层
好东西。学习了,谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-2-14 16:17:19 | 显示全部楼层
8266确实很好玩
回复 支持 反对

使用道具 举报

发表于 2016-3-3 21:01:10 | 显示全部楼层
请教楼主,8266应该怎样和微信公众平台连接开发
回复 支持 反对

使用道具 举报

发表于 2016-6-1 17:42:06 | 显示全部楼层
楼主厉害,学习了
回复 支持 反对

使用道具 举报

发表于 2016-6-11 22:03:00 | 显示全部楼层
好东西,谢谢分享~~~
回复 支持 反对

使用道具 举报

发表于 2016-6-12 09:45:48 | 显示全部楼层
cool                                
回复 支持 反对

使用道具 举报

发表于 2016-8-1 11:17:36 | 显示全部楼层
能不能多提供一些他的用法和例子呀
回复 支持 反对

使用道具 举报

发表于 2016-8-2 16:52:46 | 显示全部楼层
来学习一下
回复 支持 反对

使用道具 举报

发表于 2017-7-8 17:49:48 | 显示全部楼层
厉害啊。。。。。。。。。。。
回复

使用道具 举报

发表于 2018-11-27 09:33:58 | 显示全部楼层
楼主你用的8266是模块还是快发版??
回复 支持 反对

使用道具 举报

发表于 2018-12-11 13:52:27 | 显示全部楼层
mark,希望以后用得上
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-14 04:39 , Processed in 0.036725 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表