ESP8266-12F学习之点亮一个LED灯

点亮一个LED灯

    上一篇文章,我们介绍了怎么在Windows系统下搭建一个SEP8266的开发环境,那在这一篇文章中我们要开始来编写一个硬件入门经典小程序,如何点亮一个LED小灯,同时在这一章中我们还会介绍怎么样将编译好的程序下载到ESP8266-12f中。

 第一步:下载官方demo框架,从http://wiki.ai-thinker.com/esp8266/examples 下载,当然,也可以在文章最后下载我的附件,下载完后,我们将文件添加到SDK中进行编译,步骤如图:

点开C/C++分支,并选中Existing Code as Makefile Project:

去除C++支持,选中 Cygwin GCC,点击Browser,选中我们解压后所在的目录。点击finish。

到这里,应该就成功的将我们的工程文件添加到SKD当中了,红色框内为所添加的文件。

接下来开始编写程序部分,这里我们涉及到ESP8266-12F的IO口的控制,控制方法其实和STM32库函数类似比如

  • 先选定一个GPIO管脚。用 PIN_FUNC_SELECT(PIN_NAME, FUNC) 函数。比如我选定GPIO14这个管脚,则这样写:PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
  • 如果你设置这个管脚为高电平,则这样写:GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 1);

如果你设置其为读取状态功能则,这样初始化: GPIO_DIS_OUTPUT(GPIO_ID_PIN(14)) ;

          

具体请参考;乐鑫官方手册,这个我会放到文章底部的附件中。

开始编译工程前,我们要先修改程序,在其的 app ->user –> user_main.c 下的修改如下,让灯间断亮灭。
 1 /*********************************************************************************************
 2 程序名:  控制LED(读取GPIO口的状态)
 3 编写人:     
 4 编写时间:  
 5 硬件支持:  
 6 接口说明:  
 7 修改日志:  
 8   NO.1-
 9 /*********************************************************************************************
10 说明:
11
12 /*********************************************************************************************/
13 #include "driver/uart.h"  //串口0需要的头文件
14 #include "osapi.h"  //串口1需要的头文件
15 #include "user_interface.h" //WIFI连接需要的头文件
16 #include "gpio.h"  //端口控制需要的头文件
17
18 void delay_ms(uint16 x)
19 {
20     for(;x>0;x--)
21     {
22       os_delay_us(1000);
23     }
24 }
25
26 void  user_init()//初始化
27 {
28
29
30     uart_init(57600, 57600);//设置串口0和串口1的波特率
31
32     PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);//选择GPIO14
33     GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12为低
34
35     while(1)
36     {
37         system_soft_wdt_feed();//这里我们喂下看门狗  ,不让看门狗复位
38                 GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0);           //GPIO14为低
39                 delay_ms(1000);
40                 GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);            //GPIO14为高
41                 delay_ms(1000);
42
43     }
44
45
46
47 }
48
49 void user_rf_pre_init()
50 {
51
52 }
接下来是编译,注意这时候避免误报错误,直接把 Problems 栏目关掉,解释说,这个Problems 栏目报的错误不准确,只有Console 栏目下的输出为准,所以建议大家把 Problems 栏目关闭。
  • 之后建议大家每次编译项目前先进行 clear project,再 build project ,这样就保证了正确的代码可以完全被编译,如果正确的代码没有clear project就直接build project ,可能会报错。
  • Build Project :编译项目 ; Clean Project:清理项目,可以清理下缓存。

选中工程文件,单击右键

编译好后,出现如下区域情况,就说明编译成功了。

接下来注意了,敲黑板,划重点!!!我们要开始将编译好的程序烧录到ESP8266-12F中,下面的方法只适用于ESP8266-12F,别的型号不保证能成功哦,如果你不确定你的芯片型号,可以将芯片反过来看反面的丝印

下载烧录工具:http://www.espressif.com/zh-hans/support/download/other-tools,请到这里下载,安装好后界面如下:

根据上面的编译,我们看到了如下烧录信息:

boot.bin------------>0x00000
          user1.4096.new.6.bin--->0x01000

这个就是我们烧录时需要填入的地址,同时还提示我们,生成了user1.4096.new.6.bin 文件在 工程文件中的bin/upgrade目录下,我们再烧录软件中将路径依次填入如下:

点击start开始下载,无响应时点击复位按钮,会看到正在下载,下载完成后记得将GPIO0引脚与GND断开,再按下复位键,程序就能运行了。

PS:忘记了,LED灯接的IO口是GPIO12,这里就不贴图了哈!

没找到插入附件的地方在哪,这里附上百度云链接:链接:https://pan.baidu.com/s/1nuXvtBN 密码:iszz

    

时间: 2024-10-19 17:01:17

ESP8266-12F学习之点亮一个LED灯的相关文章

点亮一个LED灯

设计定义: 二选一多路器 两个输入IO,a.b.可以是高电平, 输入按键按下时,LED灯与a端口状态保持一致, 按键释放时,LED灯与b端口状态保持一致 设计输入:创建一个project 编写功能代码 module LED(a,b,key_in,led_out); input a;//输入端口a,b: input b; input key_in;//按键输入,实现输入通道的选择 output led_out;//led控制端口 assign led_out=(key_in==0)?a:b;//当

在 S5PV210 的 开发板上 点亮 一个 LED 灯

参考学习教程:周立功嵌入式Linux开发教程-(上册) 材料:首先 准备一个 安装好 Linux 的 开发板 使用  xshell 工具 连接 开发板  ,winscp 工具 连接 开发板  ,  准备 一个 Ubuntu  32位 ,装上 交叉编译链.. 使用下面 代码 和 Makefile 文件 进行编译  ,生成的  执行 文件  利用 winscp 软件复制到 Linux开发板上 ,利用 xshell 运行 这个可执行文件. 下面    代码的  功能  是   新建 一个 TCP 客户

树莓派点亮一个led灯

1. 访问网站:http://www.airspayce.com/mikem/bcm2835/, 该网站提供了一份针对树莓派的库文件,下载地址为:点击下载 点击下载.按照提示安装即可. 2. 在bcm2835-1.4.2 中的example文件夹中即为历程文件,打开其中的bink文件夹,使用gcc -o blink blink -l bcm2835 即可生成blink执行文件. 3. 在blink.c文件中,提示控制pin17引脚,即图中的绿色GPIO0,连接LED灯的正极:LED灯负极接树莓派

STM32学习笔记(一)——点亮一个LED

引言 最近报名了2017全国大学生电子设计竞赛,我们学校是第一次参加这个比赛,由于8/9月份就要比赛了,所以现在准备是比较晚的了,指导老师说只能做控制类的题目了,让我们学习一下STM32单片机,51到时候肯定不够用了,正好前几天买了一块STM32F103ZET6的最小系统,那就赶紧学习吧!从哪里学习呢?同样是从点亮一个小灯开始,就建个工程模板就让我没有耐心了,折腾了一上午终于把工程建立好了, 关于STM32 简介 STM32系列基于专为要求高性能.低成本.低功耗的嵌入式应用专门设计的ARM Co

从点亮一个LED开始,Cortex-A9裸机程序设计

电路原理图: 如何点亮一个LED? 通过对原理图进行分析,我们能够发现给三极管的基极加上一个高点平时,三级管be结导通构成通路,此时二极管就点亮了.若要将LED熄灭只需取消高电平输出. 如何使三级管基极获得一个高电平? 控制三极管基极的其实是exynos4412的一个引脚(忽略具体是怎么连接的),因此我们要做的就是: 配置相关寄存器使引脚变为输出功能(这里配置为输出功能 0x1) 配置上下拉(若需要) 操作寄存器改变引脚电平变化 配置带负载能力(若需要) 相关寄存器 配置引脚功能 获取或设置引脚

2016.12.12 点亮第一个LED灯

一.keil编译程标准流程 注意事项: 1.建立的 工程 和 .c文件 文件名一样. 二.LED模块图 三.点亮第一个LED灯代码:    

[MSP430DriverLib-1]使用库开发并点亮第一个LED灯

???? MSP430DriverLib库下载地址:http://www.ti.com/tool/MSPDRIVERLIB ???? 下载后进入driverlib文件夹,选择对应的型号,这里我选择的是MSP430F5xx_6xx,进入后将里面的文件都复制到你的msp430工程目录下即可.这里我将要复制的文件都放在DriverLib文件夹里. ???? 这里我用的是TI的MSP430F5529 LaunchPad Evaluation Kit的板子.首先我们来点亮第一个LED,以下为源代码: #i

6种中断点亮一个LED

一.外部中断0.1(分别點亮一個LED) /******************************************************************************* * 标题: 计数器中断实验 * #include <reg52.h> #include<intrins.h> sbit led1 = P0^0; sbit led2 = P0^1; void main(void) { // IT0=0; //低电平触发 IT0=1; //下降沿触发

STC51六中中断配置点亮一个LED

一.外部中断0.1(分别點亮一個LED) /******************************************************************************* * 标题: 计数器中断实验 * #include <reg52.h> #include<intrins.h> sbit led1 = P0^0; sbit led2 = P0^1; void main(void) { // IT0=0; //低电平触发 IT0=1; //下降沿触发