博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ESP8266_SDK开发基础(1)GPIO输入与输出、软件定时器
阅读量:6622 次
发布时间:2019-06-25

本文共 2406 字,大约阅读时间需要 8 分钟。

买到的WiFi模块型号是ESP-12S,除复位、串口、下载、电源外,还有6个口可以进行DIY,分别是GPIO2GPIO4GPIOI5GPIO12GPIO13GPIO14,本文通过实例来演示如何通过一个按键控制一个小灯的闪烁。

适应读者:已完成开发环境的配置,并能导入SDK和编译完成。

模块的最小系统原理图

图片描述

首先说下用到的工具及环境:

1、使用的SDK是安信可官方下载的直接可编译的

图片描述

2、安信可官网下载的ESP8266开发环境,是用eclipse和cygwin在windows环境下载开发,使用还是蛮简单的

图片描述

3、下载工具用FLASH_DOWNLOAD_TOOLS

图片描述

4、下面直接上user_main.c文件的内容,只需修改该文件内容,其它文件先不要动

/****************************************************************************** * Copyright 2013-2014 Espressif Systems (Wuxi) * * FileName: user_main.c * * Description: entry file of user application * * Modification history: *     2014/1/1, v1.0 create this file.*******************************************************************************/#include "ets_sys.h"#include "osapi.h"#include "gpio.h"//io引脚#include "user_interface.h"#include "user_devicefind.h"#include "user_webserver.h"#if ESP_PLATFORM#include "user_esp_platform.h"#endifvoid user_rf_pre_init(void){}/*定时器结构体 */static os_timer_t os_timer;/******************************************************************************* * 自定义引脚运行函数_定时器回调*******************************************************************************/void Task_Run(void){    static bool status = false;    if(GPIO_INPUT_GET(14)){//读取GPIO14的引脚电平        if (status == true){            status = false;            GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0);//GPIO12输出低电平        }else{            status = true;            GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12输出高电平        }    }else{        GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12输出高电平    }}/****************************************************************************** * FunctionName : user_init * Description  : entry of user application, init user function here * Parameters   : none * Returns      : none*******************************************************************************/void user_init(void){    /*设置串口波特率*/    uart_init(115200,9600);    /*打印版本信息*/    os_printf("\r\n");os_printf("SDK version:%s\n", system_get_sdk_version());    /*配置GPIO12*/    PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);    /*配置GPIO14*/    PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U,FUNC_GPIO14);    /*配置软件定时器 */    os_timer_disarm(&os_timer);//关闭定时器    os_timer_setfn(&os_timer,(ETSTimerFunc *) (Task_Run), NULL);//配置回调函数    os_timer_arm(&os_timer,1000,true);//启动定时器}

编译成功的标志是这样的

图片描述

烧录的步骤:

1、将GPIO_0引脚接地,断开模块电源;

2、打开ESP FLASH DOWNLOAD TOOL;
3、按照本文的第二张图片进行配置后,点击START按钮;
4、打开模块电源后就看到工具提示下载中;
5、若失败,请尝试重复以上操作!

转载地址:http://fljpo.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
SpringMVC中用于绑定请求数据的注解以及配置视图解析器
查看>>
JavaScript 闭包
查看>>
如何修改远程桌面3389端口
查看>>
Anthos Config Management 产品设计分析
查看>>
我的友情链接
查看>>
Spark算子:RDD行动Action操作(3)–aggregate、fold、lookup
查看>>
UILabel总结
查看>>
java获取当前时间前一周、前一月、前一年的时间
查看>>
话说WEB开发之页面重绘和回流
查看>>
vuex之传递参数(五)
查看>>
xutils使用手册(一)——初始化
查看>>
using标识使用
查看>>
解决linux下不能上网
查看>>
nginx rewrite伪静态配置参数说明
查看>>
python学习笔记(15-18)
查看>>
【转】linux进程的内存使用解析
查看>>
我的友情链接
查看>>
Oracle 查询不区分大小写 (正则函数)
查看>>
T264接口说明
查看>>