ESP32通用IO口

硬件版图

IO口资源

备注:
• Strapping 管脚:GPIO0、GPIO2、GPIO5、GPIO12 (MTDI) 和GPIO15 (MTDO) 是Strapping 管脚。更多信息请参考ESP32 技术规格书。
• SPI0/1:GPIO6-11 和GPIO16-17 通常连接到模组内集成的SPI flash 和PSRAM,因此不能用于其他用途。
• JTAG:GPIO12-15 通常用于在线调试。
• GPI:GPIO34-39 只能设置为输入模式,不具备软件使能的上拉或下拉功能。
• TXD & RXD 通常用于烧录和调试。
• ADC2:使用Wi-Fi 时不能使用ADC2 管脚。因此,如果您在使用Wi-Fi 时无法从ADC2 GPIO 获取值,可以考虑使用ADC1 GPIO 来解决该问题。更多详情请参考ADC 连续转换模式下的硬件限制
以及ADC 单次转换模式下的硬件限制。
• 使用ADC 或睡眠模式下使用Wi-Fi 和蓝牙时,请不要使用GPIO36 和GPIO39 的中断

IO口引脚模式

配置IO口使用结构体传参的方式配置

配置IO口的结构体

struct    gpio_config_t

        成员

         uint64_t pin_bit_mask
         GPIO pin: set with bit mask, each bit maps to a GPIO


        gpio_mode_t mode
        GPIO mode:                                                   set input/output mode
        gpio_pullup_t                                                  pull_up_en
        GPIO pull-up
        gpio_pulldown_t                                              pull_down_en
        GPIO pull-down
        gpio_int_type_t                                                 intr_type
        GPIO interrupt type

头文件

#include "driver/gpio.h"

常用函数

将配置好的structure传入此函数配置IO口状态

配置引脚电平

配置IO结构体进行点灯操作

#include "driver/gpio.h"
 
void initGPIO(){
    gpio_config_t IO_Config;
    init.intr_type=GPIO_INTR_DISABLE;             //失能中断;
    init.mode=GPIO_MODE_OUTPUT;                   //输出模式
    init.pin_bit_mask=(1ULL<<X);                  //GPIOx
    init.pull_down_en=GPIO_PULLDOWN_DISABLE;      //失能下拉模式
    init.pull_up_en=GPIO_PULLUP_ENABLE;           //使能上拉模式
 
    gpio_config(&IO_Config);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值