ESP32-外设GPIO资料

本文主要介绍了ESP32的GPIO使用,包括简单的GPIO输出高低电平操作,GPIO配置结构体的解析,以及RTC GPIO的相关函数介绍,是理解ESP32外设控制的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单使用

使IO2输出高低电平


#include "driver/gpio.h"
#define LED GPIO_NUM_2
gpio_reset_pin(LED); // 清除 GPIO 默认的状态
gpio_set_direction(LED, GPIO_MODE_OUTPUT); // GPIO 输出模式


while(1) 
{
   
//vTaskDelay(1000 / portTICK_PERIOD_MS);
//延时
gpio_set_level(LED, 0); // 输出低电平
//vTaskDelay(1000 / portTICK_PERIOD_MS);
//延时
gpio_set_level(LED, 1); // 输出低电平
}

GPIO配置结构体
//ESP32的引脚IO口
typedef enum {
   
    GPIO_NUM_NC = -1,    /*!< Use to signal not connected to S/W */
    GPIO_NUM_0 = 0,     /*!< GPIO0, input and output */
    GPIO_NUM_1 = 1,     /*!< GPIO1, input and output */
    GPIO_NUM_2 = 2,     /*!< GPIO2, input and output */
    GPIO_NUM_3 = 3,     /*!< GPIO3, input and output */
    GPIO_NUM_4 = 4,     /*!< GPIO4, input and output */
    GPIO_NUM_5 = 5,     /*!< GPIO5, input and output */
    GPIO_NUM_6 = 6,     /*!< GPIO6, input and output */
    GPIO_NUM_7 = 7,     /*!< GPIO7, input and output */
    GPIO_NUM_8 = 8,     /*!< GPIO8, input and output */
    GPIO_NUM_9 = 9,     /*!< GPIO9, input and output */
    GPIO_NUM_10 = 10,   /*!< GPIO10, input and output */
    GPIO_NUM_11 = 11,   /*!< GPIO11, input and output */
    GPIO_NUM_12 = 12,   /*!< GPIO12, input and output */
    GPIO_NUM_13 = 13,   /*!< GPIO13, input and output */
    GPIO_NUM_14 = 14,   /*!< GPIO14, input and output */
    GPIO_NUM_15 = 15,   /*!< GPIO15, input and output */
    GPIO_NUM_16 = 16,   /*!< GPIO16, input and output */
    GPIO_NUM_17 = 17,   /*!< GPIO17, input and output */
    GPIO_NUM_18 = 18,   /*!< GPIO18, input and output */
    GPIO_NUM_19 = 19,   /*!< GPIO19, input and output */
    GPIO_NUM_20 = 20,   /*!< GPIO20, input and output */
    GPIO_NUM_21 = 21,   /*!< GPIO21, input and output */
    GPIO_NUM_22 = 22,   /*!< GPIO22, input and output */
    GPIO_NUM_23 = 23,   /*!< GPIO23, input and output */
    GPIO_NUM_25 = 25,   /*!< GPIO25, input and output */
    GPIO_NUM_26 = 26,   /*!< GPIO26, input and output */
    GPIO_NUM_27 = 27,   /*!< GPIO27, input and output */
    GPIO_NUM_28 = 28,   /*!< GPIO28, input and output */
    GPIO_NUM_29 = 29,   /*!< GPIO29, input and output */
    GPIO_NUM_30 = 30
### ESP32-S3外设资源信息 ESP32-S3 是一款功能强大的微控制器,集成了丰富的外设接口。这些外设使得开发者能够轻松地连接各种传感器、显示器和其他外围设备。 #### 主要外设资源概述 1. **GPIO 接口** GPIO(通用输入输出)引脚是 ESP32-S3 上最基本的外设之一。该芯片提供了多达 46 个可编程的 GPIO 引脚,支持多种工作模式,如输入、输出、中断触发等[^1]。 2. **模拟数字转换器 (ADC) 和 数字模拟转换器 (DAC)** ADC 可用于读取来自外部传感器的模拟信号并将其转换为数字值;而 DAC 则可以将内部产生的数字信号转化为连续变化的电压水平。ESP32-S3 配备有两个独立的 SAR ADC 单元以及两个单通道 DAC 输出端子。 3. **串行通信接口** 支持 UART、SPI、I²C 等标准协议来与其他 IC 或模块交换数据。特别是 SPI 总线允许快速高效的数据传输速率,在多器件间共享总线时表现出色。 4. **触摸感应按键** 内置有十个专用触控检测通道,可用于构建基于电容式传感技术的人机交互界面或者作为接近探测手段的一部分。 5. **其他特色组件** 还包含了 PWM 控制单元、红外发射接收装置等功能部件,进一步扩展了其应用场景的可能性。 对于希望深入了解 ESP32-S3 外设使用的开发者来说,《[全网首发] 微雪 ESP32-S3 使用 VSCode + ESP-IDF 环境搭建小白式讲解完整步骤》 提供了一个很好的起点。此外,《ESP32-S3-Korvo-2 V3.0 硬件原理图:深度解析与应用指南》也是一份非常有价值的参考资料,它不仅涵盖了具体的硬件细节,还给出了实际项目的指导建议[^3]。 ```python import machine # 创建一个PWM对象,绑定到指定的GPIO引脚上 pwm = machine.PWM(machine.Pin(18)) # 设置频率和占空比 pwm.freq(500) pwm.duty_u16(32768) # 设定最大值的一半 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值