1 参考资料

官方API手册
官方源码

2 添加头文件

#include "drive/gpio.h"

3 GPIO初始化的两种方法

3.1 单一函数设置方案

直接通过函数设置GPIO的模式:

// 设置gpio3为输出模式:
gpio_set_direction(GPIO_NUM_3, GPIO_MODE_OUTPUT);
// 设置gpio3输出低电平:
gpio_set_level(GPIO_NUM_3, 0);// 设置gpio9为输入模式:
gpio_set_direction(GPIO_NUM_9,GPIO_MODE_INPUT);
// 获取gpio9的io状态:
ret = gpio_get_level(GPIO_NUM_9);

上面就是单一函数下gpio最简单的操作,其他单一设置函数还有:

// 设置gpio的上下拉模式:
gpio_set_pull_mode(gpio_num_t gpio_num, gpio_pull_mode_t pull);
// 使能上拉:
gpio_pullup_en(gpio_num_t gpio_num);
// 失能上拉:
gpio_pullup_dis(gpio_num_t gpio_num);

3.2 结构体形式初始化GPIO

// 定义一个gpio结构体变量:
#define LED_GPIO (1ULL << 3)gpio_config_t led_conf; led_conf.mode = GPIO_MODE_OUTPUT;             // 配置gpio的模式
led_conf.intr_type = GPIO_PIN_INTR_DISABLE;  // 失能中断
led_conf.pin_bit_mask = LED_GPIO;            // 配置GPIO_IN寄存器,选择初始化的GPIO3口为led控制
led_conf.pull_down_en = 0;                   // 下拉失能
led_conf.pull_up_en = 0;                     // 上拉失能gpio_config(&led_conf);                       // 配置gpio参数,并使能// gpio的使用和单一模式一致
// 设置gpio3输出高电平:
gpio_set_level(LED_GPIO, 1);

4 示例教程

ESP32学习-GPIO的使用与配置相关推荐

  1. 乐鑫Esp32学习之旅⑦ esp32上利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  2. ESP32学习笔记( VSCode + ESP-IDF环境) 3 ——GPIO相关的简单外设驱动

    1.如何在VSCode和ESP-IDF的环境下创建工程 说实话,这是我用ESP-IDF在VSCode环境下最不喜欢的事情,在一顿CSDN和百度之后,很多大佬博主都推荐使用VSCode,通过官方示例来进 ...

  3. 乐鑫Esp32学习之旅② 巧用eclipes编辑器,官方教程在Windows下搭建esp32开发环境,打印 “Hello World”。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  4. 乐鑫Esp32学习之旅13 esp32 内置 dns 服务器,无需外网访问域名返回指定网页。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  5. 乐鑫Esp32学习之旅11 入门 乐鑫esp-adf 音频框架开发,造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  6. 乐鑫Esp32学习之旅28 分享在 esp32 SDK实现驱动 Flash W25Q32 的封装,扩大容量存储更多的资源。(开源源码工程)。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...

  7. 乐鑫Esp32学习之旅27 带你在Windows10平台下用自带的Linux安装 ESP8266/ESP32 环境,再无需额外安装虚拟机了。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  8. 乐鑫Esp32学习之旅① 爬坑学习新旅程,虚拟机Linux环境搭建esp32环境,打印 “Hellow World”。(2021年6月已更新)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...

  9. 乐鑫Esp32学习之旅 乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。(附带源码)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...

最新文章

  1. Entity Framework应用:根据实体的EntityState状态实现增删改查
  2. python学习一(python与pip工具下载与安装)
  3. css:中文词不断开,整体换行
  4. Winform中使用FileStream读取文件后,继续操作提示:it is being used by anothor process
  5. python3 列表取交集_常用序列数据类型列表
  6. linux课堂笔记(7)
  7. servlet和JSP页面乱码问题
  8. SSH 命令常见用法
  9. Spring AOP面向切面源码解析
  10. 【Python实例第18讲】affinity propagation聚类算法
  11. 博客中GIF动画超简单制作
  12. 简述网卡的作用和工作原理_网卡的工作原理(要简短的)
  13. pandas使用read_csv函数读取文件的前N行数据并保留表头、pandas使用read_csv函数读取制表符分割的文件(tab-delimited)、自定义设置sep参数
  14. 使用windows命令行 启动WeGame
  15. 免费通信时代何时真正到来?
  16. 视频转换成flv注意事项
  17. opencv-python 详解阈值分割
  18. 盘点2009年商场百货创意促销手段 秒杀当道
  19. Hadoop新手学习指导
  20. 设置windows默认浏览器的方法

热门文章

  1. MySQL组合索引(多列索引)使用与优化
  2. docker自动续期Freenom域名,配置邮件提醒
  3. css代码实现各式各样的icon小图标
  4. FRP内网穿透服务端搭建教程
  5. 5000元的资金买一个股票,每天一个涨停板,连续十个涨停总资金是多少?怎么算?
  6. IHS安装ssl证书
  7. mysql数据库大作业学籍管理系统_数据库大作业学籍管理系统代码和报告
  8. python登陆Discuz!论坛通用代码
  9. 变频器matlab仿真,SPWM变频器 Matlab仿真
  10. NodeJS 中的mongoDB设置指定字段的隐藏,查询的时候强制显示指定隐藏的字段