ESP32 GPIO 入门参考

Strapping 管脚

  • 共有 5 个 Strapping 管脚,GPIO0、GPIO2、GPIO5、GPIO12 (MTDI)、GPIO15 (MTDO)。每一个 Strapping 管脚都会连接内部上拉/下拉。如果一个 Strapping 管脚没有外部连接或者连接的外部线路处于高阻抗状态,内部弱上拉/下拉将决定 Strapping 管脚输入电平的默认值。为改变 Strapping 的值,用户可以应用外部下拉/上拉电阻,或者应用主机 MCU 的 GPIO 控制芯片上电复位放开时的 Strapping 管脚电平。复位放开后,Strapping 管脚和普通管脚功能相同。配置 Strapping 管脚的详细启动模式如下,参见《ESP32 技术规格书》

    在这里插入图片描述

  • MTDI 对应 GPIO12 ,GPIO12 的电平与 Flash 启动相关。
  • MTDO 对应 GPIO15
  • GPIO0 与 GPIO2 与下载启动模式相关

Flash/PSRAM 管脚

  • SPI0/1: GPIO6-11 和 GPIO16-17 通常连接模块上集成的 SPI flash 和 PSRAM,不能用于其他用途。

  • PSRAM 的接口除了 CS(任意 GPIO)不能与 Flash 共用外,CLK 接口(建议参考模组使用的时钟脚),其他都可以与 Flash 的接口共用。

    在这里插入图片描述

  • 不同型号的模组内置 Flash 的管脚配置不同,可使用 esptool 工具,通过 espefuse.py summary 命令读取。例如:

    SPI_PAD_CONFIG_CLK (BLOCK0): Override SD_CLK pad (GPIO6/SPICLK)  = 0 R/W (0b00000)
    SPI_PAD_CONFIG_Q (BLOCK0): Override SD_DATA_0 pad (GPIO7/SPIQ)  = 0 R/W (0b00000)
    SPI_PAD_CONFIG_D (BLOCK0): Override SD_DATA_1 pad (GPIO8/SPID)  = 0 R/W (0b00000)
    SPI_PAD_CONFIG_HD (BLOCK0): Override SD_DATA_2 pad (GPIO9/SPIHD)  = 0 R/W (0b00000)
    SPI_PAD_CONFIG_CS0 (BLOCK0): Override SD_CMD pad (GPIO11/SPICS0)  = 0 R/W (0b00000)
    

JTAG 调试管脚


下载管脚/日志输出


仅输入管脚

  • GPIO34-39 只能设置为输入模式,没有软件上拉或下拉功能。

ADC 管脚

  • 使用 Wi-Fi 时,不能使用 ADC2 管脚。所以,如果你正在使用 Wi-Fi,同时在从 ADC2 GPIO 获取值时遇到了困难,可以考虑使用 ADC1 GPIO,这会解决你的问题。更多详情,请参阅 “ADC 限制”
  • ADC 硬件设计参考《ESP32 硬件设计指南》中 “2.6 ADC” 章节说明。

复位(RST)管脚

  • CHIP_PU(EN):高电平:芯片使能;低电平:芯片关闭。注意:不能让 CHIP_PU 管脚浮空。参见《ESP32 技术规格书》中“表 1:管脚描述”

  • CHIP_PU(EN)可以作为硬件复位管脚,硬件设计要求可参考《ESP32 硬件设计指南》中的 "2.2.2 复位"章节说明。

    在这里插入图片描述


RTC_GPIO

  • 在 Deep-sleep 模式下,只有 RTC_GPIO 可保持工作。且仅有 RTC GPIO 可以作为唤醒源,而非数字 GPIO。
  • 18 个 RTC GPIO 管脚,由 ESP32 的 RTC 子系统控制。作为输出管脚时仍然能够在芯片处于 Deep-sleep 睡眠模式下保持输出电平值或者作为输入管脚使用时可以将芯片从 Deep-sleep 中唤醒。可参见《ESP32 技术参考手册》中的 “RTC_MUX 管脚清单”。
  • ULP 模式下 RTC_GPIO 的应用例程:esp-iot-solution/examples/ulp_examples
    在这里插入图片描述

I2C 管脚


AT 串口管脚


外设管脚分配


SPI 接口

  • ESP32 的 SPI 在专用 IO_MUX SPI 引脚上的速度可达 80 MHz ,在 GPIO matrix 引脚上的速度可达 40 MHz ,但在 GPIO matrix 上的全双工传输只支持高达 26 MHz 的速度。请阅读 “SPI Master Driver” 编程指南。

GPIO 中断


GPIO 应用

注意:ESP32 ECO V0 和 V1 版本的芯片,GPIO 唤醒源不能与 Touch 或 ULP 唤醒源一起使用。可参见 “esp_sleep_enable_gpio_wakeup()” 函数说明。

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值