我是靠谱客的博主 潇洒纸鹤,最近开发中收集的这篇文章主要介绍ESP32学习-GPIO的使用与配置1 参考资料2 添加头文件3 GPIO初始化的两种方法4 示例教程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 参考资料2 添加头文件3 GPIO初始化的两种方法4 示例教程的全部内容,希望文章能够帮你解决ESP32学习-GPIO的使用与配置1 参考资料2 添加头文件3 GPIO初始化的两种方法4 示例教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部