零. 声明

本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:

第一篇:ESP-IDF基本介绍,主要会涉及模组,芯片,开发板的介绍,环境搭建,程序编译下载,启动流程等一些基本的操作,让你对ESP-IDF开发有一个总体的认识,比我们后续学习打下基础!

第二篇:ESP32-IDF外设驱动介绍,主要会根据esp-idf现有的driver,提供各个外设的驱动,比如LED,OLED,SPI LCD,TOUCH,红外,Codec ic等等,在这一篇中,我们不仅仅来做外设驱动,还会对常用的外设总线做一个介绍,让大家知其然又知其所以然!

第三篇:目前比较火热的GUI LVGL介绍,主要会设计LVGL7.1,LVGL8的移植介绍,并且也会介绍各个组件,知道原理后,最后,我们会推出一款组态软件来构建我们的GUI,来提升我们的效率!

第四篇:ESP32-蓝牙,熟悉我的,应该都知道,我即使从事蓝牙协议栈的开发的,所以这个是我们独有的优势,在这一篇章,我们会提供不仅仅是蓝牙应用方法的知识,也会应用结合蓝牙底层协议栈的理论,让你彻底从上到下打通蓝牙任督二脉!

第五篇:Wi-Fi介绍,熟悉我的,应该也知道,我们也做过一款sdio wifi的驱动教程板子,所以在wifi这方面我们也是有独有的优势,在这一篇章,我们同样不仅仅提供Wi-Fi应用方面的知识,也会结合底层理论,让你对Wi-Fi有一个清晰的认知!

另外,我们的教程包括但是不局限于以上篇章,为了给你一个更好的导航,以下信息尤其重要,请详细查看!!

------------------------------------------------------------------------------------------------------------------------------------------

购买开发板(点击我)

文档目录(点击我)

Github代码仓库(点击我)

蓝牙交流扣扣群:539357317

微信公众号↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

------------------------------------------------------------------------------------------------------------------------------------------

其实相信当你在看这份文档的时候你已经对 LED 的点亮了如指掌了, 但是我们还是以 “一灯大师”的身份来开始本章。

一.LED原理图

如图所示,我们的板子上目前只有一个user led,挂在ESP32的IO17上,输出低电平电量,输出高电平熄灭

二. GPIO的初始化,控制电平来点亮/熄灭LED

整个GPIO的初始化以及点亮熄灭的操作我们都是用esp-idf框架中的API,API连接如下

GPIO & RTC GPIO - ESP32 - — ESP-IDF 编程指南 v4.4 文档

1.GPIO的初始化

#define LED_PIN    17
#define LED_PIN_SEL  (1<<LED_PIN)/******************************************************************************* func name   : bsp_led_init* para        : NULL* return      : led init result* description : LED init,LED->IO17
******************************************************************************/
void bsp_led_init()
{gpio_config_t io_conf;io_conf.intr_type = GPIO_INTR_DISABLE;io_conf.mode = GPIO_MODE_OUTPUT;io_conf.pin_bit_mask = LED_PIN_SEL;io_conf.pull_down_en = 0;io_conf.pull_up_en = 0;gpio_config(&io_conf);
}

GPIO的配置是通过gpio_config这个api来设置的

2.控制GPIO的电平

/* Operate LED on/off */
#define LED_OFF gpio_set_level(LED_PIN, 1)
#define LED_ON  gpio_set_level(LED_PIN, 0)

GPIO的高低电平是通过gpio_set_level API来设置的

三.完整代码

#include<stdio.h>#include"freertos/FreeRTOS.h"
#include"freertos/task.h"
#include"driver/gpio.h"
#define LED_PIN    17
#define LED_PIN_SEL  (1<<LED_PIN)
/* Operate LED on/off */
#define LED_OFF gpio_set_level(LED_PIN, 1)
#define LED_ON  gpio_set_level(LED_PIN, 0)
/******************************************************************************* func name   : bsp_led_init* para        : NULL* return      : led init result* description : LED init,LED->IO17
******************************************************************************/
void bsp_led_init()
{gpio_config_t io_conf;io_conf.intr_type = GPIO_INTR_DISABLE;io_conf.mode = GPIO_MODE_OUTPUT;io_conf.pin_bit_mask = LED_PIN_SEL;io_conf.pull_down_en = 0;io_conf.pull_up_en = 0;gpio_config(&io_conf);
}
void bsp_delay_ms(uint32_tcms)
{TickType_t xDelay = cms / portTICK_PERIOD_MS;vTaskDelay( xDelay );
}
void app_main(void)
{uint32_t count = 0;bsp_led_init();while(1){if(count % 2 == 0)LED_ON;elseLED_OFF;count++;bsp_delay_ms(1000);}
}

我们整个程序展示的效果是:LED量1S亮,1S灭,交替循环

一灯大师,点亮ESP32的LED相关推荐

  1. 一灯大师之点亮OK6410开发板上4个LED裸机程序---嵌入式回归第十篇

    接着上一篇关闭mmu和cache后,这一篇来点亮开发板上的一盏LED小灯,前面所作的初始化工作基本看不到效果,其实这一段也是最麻烦的!如果有问题调试很麻烦!点亮了LED之后就可以用LED来看程序是否如 ...

  2. ESP32入门之GPIO:点亮一盏LED灯

    目录 前言 一.硬件准备 二.使用步骤 1.硬件连接 2. 代码实现 2.1 LED初始化 2.2 KEY初始化 2.3 main函数 2.4 中断处理与任务函数 三 完整代码 总结 参考资料 ​​ ...

  3. 树莓派绿灯闪了几下不闪了_城市猎人的树莓派笔记一灯大师

    " 城市猎人的树莓派笔记" 06 一灯大师 VS2019新建一个.NET core控制台应用程序(不再重复放图了,之前有),并命名为DualColorLed 先引用模块原理图,两个 ...

  4. Esp8266进阶之路11 企业者的福音之8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  5. 【ESP32DEVKITV1学习笔记】点亮一盏LED灯

    目录 前言 一.环境的搭建 1.下载Visual studio Code 2.下载platformIO IDE 二.点亮一盏LED灯 1.硬件准备 2.新建工程 3.烧录 总结 Q&A 前言 ...

  6. Esp8266进阶之路10 【小实战下篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  7. 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ① 小白也痴迷,如何在 Linux环境搭建编译烧录 安信可TB02,点亮一盏LED灯;

    本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小 ...

  8. Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  9. 点亮ESP32自带的小灯

    点亮ESP32自带的小灯 #include <Arduino.h>int LED = 2;//定义二号引脚void setup() {pinMode(LED, OUTPUT);//将引脚2 ...

最新文章

  1. java list 不包含_java判断list是否包含某个值
  2. 宝塔apache mysql_商淘多商户商城系统部署之宝塔面板(Nginx/Apache+MySQL+PHP7.1)
  3. 将SQL文件导入Hive
  4. Spring Data 分页和排序 PagingAndSortingRepository的使用(九)
  5. SqlServer的日常生活
  6. 阶段3 3.SpringMVC·_05.文件上传_2 文件上传之传统方式上传代码回顾
  7. vue项目中报常见错误
  8. 传智播客 C/C++学习笔记 函数调用 模型
  9. python之操作mysql数据库
  10. Matlab实现和使用神经网络的几种方式详细讲解--附代码可下载
  11. ie tab chrome_将IE Tab集成添加到Google Chrome
  12. 读者提问:如何提高效率?
  13. Delphi程序破解技术概要
  14. 网站服务器内存满了,云服务器内存满了怎么办
  15. 【Python】在字符串的头尾做文本匹配
  16. linux下中文输入法的安装(解决菜单栏输入法图标消失问题)
  17. css3中的动画特效--跳动的篮球
  18. autojs免root脚本引擎编写的QQ空间点赞脚本源码
  19. 1028: I love 闰年! Java
  20. 双主动桥隔离双向DC-DC变换器(六)DAB-IBDC在HFLPCS中的应用

热门文章

  1. c++类指针赋值表达式必须是可修改的左值_C生万物,编程之本!(c语言基础笔记)
  2. 【H5】文字横向滚动
  3. 黑苹果音频卡顿_iPhone用户必升!苹果iOS 14.2正式发布
  4. 测试access函数
  5. scrollview 滚动条
  6. 服务器虚拟化需要多少钱,蓝盟观察,解析各厂商实施服务器虚拟化所需成本
  7. mysql ssd优化_针对 SSD 的 MySQL IO 优化
  8. 关于html引入css文件后没有效果问题
  9. PowerShell(0)-Windows PowerShell交互界面
  10. java任务项目——学生喂养三种宠物:猫、狗、鸟