ESP32之GPIO的输入输出和中断

您所在的位置:网站首页 gpio输出高电平 ESP32之GPIO的输入输出和中断

ESP32之GPIO的输入输出和中断

2023-03-09 09:15| 来源: 网络整理| 查看: 265

基本输入输出

ESP32 芯片具有 34 个物理 GPIO 管脚(GPIO0 ~ GPIO19、GPIO21 ~ GPIO23、GPIO25 ~ GPIO27 和 GPIO32 ~ GPIO39)。每个管脚都可用作一个通用 IO,或连接一个内部的外设信号。通过 IO MUX、RTC IO MUX 和 GPIO 交换矩阵,可配置外设模块的输入信号来源于任何的 IO 管脚,并且外设模块的输出信号也可连接到任意 IO 管脚。这些模块共同组成了芯片的 IO 控制。更多详细信息,请参阅 ESP32 技术参考手册 > IO MUX 和 GPIO 矩阵(GPIO、IO_MUX) [PDF]。

下表提供了各管脚的详细信息,部分 GPIO 具有特殊的使用限制,具体可参考表中的注释列。 注意

GPIO0、GPIO2、GPIO5、GPIO12、GPIO15作为strapping引脚,也就是说芯片上电时会检查这些引脚的电压,具体细节可以查看芯片手册进行了解。 SPI0/1会使用GPIO6-11、GPIO16-17,模组内部会使用这些引脚作为SPI flash/psram的引脚,故也不应该使用; GPIO12-15通常用作JTAG调试使用; GPIO34-39只能用作输入模式并且内部没有软件上拉或者下拉功能; ADC2引脚当WiFi功能被使用时禁止使用,所以建议使用ADC1。 上图中排针旁边对应的数字就是GPIO x

为了帮助大家理解IO交换矩阵和IO MUX,我从技术参考手册里面找来这张图帮助大家理解 有些信号可以直接通过IO MUX直接送入外设,有些必须经过IO矩阵 IO的内部上拉、下拉实现框图

以上我们已经简单介绍了一些ESP32的GPIO,下面我们根据ESP-IDF开发框架中的GPIO API来具体讲讲GPIO功能

esp_err_t gpio_config(const gpio_config_t *pGPIOConfig)

此接口用于配置GPIO,可以一次配置一个IO,也可以同时配置多个IO,前提是多个IO的属性相同。

下面让我们来看一下gpio_config_t这个结构体的内容 pin_bit_mask设置需要操作的GPIO引脚,例如我要设置GPIO18和GPIO19

则pin_bit_mask应该设置为(1ULL



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3