| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- GPIO
- ====
- Overview
- --------
- The ESP32 chip features 40 physical GPIO pads. Some GPIO pads cannot be used or do not have the corresponding pin on the chip package(refer to technical reference manual ). Each pad can be used as a general purpose I/O or can be connected to an internal peripheral signal.
- Note that GPIO6-11 are usually used for SPI flash. GPIO34-39 can only be set as input mode.
- Application Example
- -------------------
- GPIO output and input interrupt example: `examples/21_gpio <https://github.com/espressif/esp-idf/tree/master/examples/21_gpio>`_.
- API Reference
- -------------
- Header Files
- ^^^^^^^^^^^^
- * `driver/include/driver/driver/gpio.h <https://github.com/espressif/esp-idf/blob/master/components/driver/include/driver/gpio.h>`_
- Macros
- ^^^^^^
- .. doxygendefine:: GPIO_SEL_0
- .. doxygendefine:: GPIO_SEL_1
- .. doxygendefine:: GPIO_SEL_2
- .. doxygendefine:: GPIO_SEL_3
- .. doxygendefine:: GPIO_SEL_4
- .. doxygendefine:: GPIO_SEL_5
- .. doxygendefine:: GPIO_SEL_6
- .. doxygendefine:: GPIO_SEL_7
- .. doxygendefine:: GPIO_SEL_8
- .. doxygendefine:: GPIO_SEL_9
- .. doxygendefine:: GPIO_SEL_10
- .. doxygendefine:: GPIO_SEL_11
- .. doxygendefine:: GPIO_SEL_12
- .. doxygendefine:: GPIO_SEL_13
- .. doxygendefine:: GPIO_SEL_14
- .. doxygendefine:: GPIO_SEL_15
- .. doxygendefine:: GPIO_SEL_16
- .. doxygendefine:: GPIO_SEL_17
- .. doxygendefine:: GPIO_SEL_18
- .. doxygendefine:: GPIO_SEL_19
- .. doxygendefine:: GPIO_SEL_21
- .. doxygendefine:: GPIO_SEL_22
- .. doxygendefine:: GPIO_SEL_23
- .. doxygendefine:: GPIO_SEL_25
- .. doxygendefine:: GPIO_SEL_26
- .. doxygendefine:: GPIO_SEL_27
- .. doxygendefine:: GPIO_SEL_32
- .. doxygendefine:: GPIO_SEL_33
- .. doxygendefine:: GPIO_SEL_34
- .. doxygendefine:: GPIO_SEL_35
- .. doxygendefine:: GPIO_SEL_36
- .. doxygendefine:: GPIO_SEL_37
- .. doxygendefine:: GPIO_SEL_38
- .. doxygendefine:: GPIO_SEL_39
- .. doxygendefine:: GPIO_PIN_REG_0
- .. doxygendefine:: GPIO_PIN_REG_1
- .. doxygendefine:: GPIO_PIN_REG_2
- .. doxygendefine:: GPIO_PIN_REG_3
- .. doxygendefine:: GPIO_PIN_REG_4
- .. doxygendefine:: GPIO_PIN_REG_5
- .. doxygendefine:: GPIO_PIN_REG_6
- .. doxygendefine:: GPIO_PIN_REG_7
- .. doxygendefine:: GPIO_PIN_REG_8
- .. doxygendefine:: GPIO_PIN_REG_9
- .. doxygendefine:: GPIO_PIN_REG_10
- .. doxygendefine:: GPIO_PIN_REG_11
- .. doxygendefine:: GPIO_PIN_REG_12
- .. doxygendefine:: GPIO_PIN_REG_13
- .. doxygendefine:: GPIO_PIN_REG_14
- .. doxygendefine:: GPIO_PIN_REG_15
- .. doxygendefine:: GPIO_PIN_REG_16
- .. doxygendefine:: GPIO_PIN_REG_17
- .. doxygendefine:: GPIO_PIN_REG_18
- .. doxygendefine:: GPIO_PIN_REG_19
- .. doxygendefine:: GPIO_PIN_REG_20
- .. doxygendefine:: GPIO_PIN_REG_21
- .. doxygendefine:: GPIO_PIN_REG_22
- .. doxygendefine:: GPIO_PIN_REG_23
- .. doxygendefine:: GPIO_PIN_REG_25
- .. doxygendefine:: GPIO_PIN_REG_26
- .. doxygendefine:: GPIO_PIN_REG_27
- .. doxygendefine:: GPIO_PIN_REG_32
- .. doxygendefine:: GPIO_PIN_REG_33
- .. doxygendefine:: GPIO_PIN_REG_34
- .. doxygendefine:: GPIO_PIN_REG_35
- .. doxygendefine:: GPIO_PIN_REG_36
- .. doxygendefine:: GPIO_PIN_REG_37
- .. doxygendefine:: GPIO_PIN_REG_38
- .. doxygendefine:: GPIO_PIN_REG_39
- .. doxygendefine:: GPIO_APP_CPU_INTR_ENA
- .. doxygendefine:: GPIO_APP_CPU_NMI_INTR_ENA
- .. doxygendefine:: GPIO_PRO_CPU_INTR_ENA
- .. doxygendefine:: GPIO_PRO_CPU_NMI_INTR_ENA
- .. doxygendefine:: GPIO_SDIO_EXT_INTR_ENA
- .. doxygendefine:: GPIO_MODE_DEF_INPUT
- .. doxygendefine:: GPIO_MODE_DEF_OUTPUT
- .. doxygendefine:: GPIO_MODE_DEF_OD
- .. doxygendefine:: GPIO_PIN_COUNT
- .. doxygendefine:: GPIO_IS_VALID_GPIO
- .. doxygendefine:: GPIO_IS_VALID_OUTPUT_GPIO
- Type Definitions
- ^^^^^^^^^^^^^^^^
- .. doxygentypedef:: gpio_isr_t
- .. doxygentypedef:: gpio_isr_handle_t
- Enumerations
- ^^^^^^^^^^^^
- .. doxygenenum:: gpio_num_t
- .. doxygenenum:: gpio_int_type_t
- .. doxygenenum:: gpio_mode_t
- .. doxygenenum:: gpio_pullup_t
- .. doxygenenum:: gpio_pulldown_t
- .. doxygenenum:: gpio_pull_mode_t
- Structures
- ^^^^^^^^^^
- .. doxygenstruct:: gpio_config_t
- :members:
- Functions
- ^^^^^^^^^
- .. doxygenfunction:: gpio_config
- .. doxygenfunction:: gpio_set_intr_type
- .. doxygenfunction:: gpio_intr_enable
- .. doxygenfunction:: gpio_intr_disable
- .. doxygenfunction:: gpio_set_level
- .. doxygenfunction:: gpio_get_level
- .. doxygenfunction:: gpio_set_direction
- .. doxygenfunction:: gpio_set_pull_mode
- .. doxygenfunction:: gpio_wakeup_enable
- .. doxygenfunction:: gpio_wakeup_disable
- .. doxygenfunction:: gpio_isr_register
- .. doxygenfunction:: gpio_pullup_en
- .. doxygenfunction:: gpio_pullup_dis
- .. doxygenfunction:: gpio_pulldown_en
- .. doxygenfunction:: gpio_pulldown_dis
- .. doxygenfunction:: gpio_install_isr_service
- .. doxygenfunction:: gpio_uninstall_isr_service
- .. doxygenfunction:: gpio_isr_handler_add
- .. doxygenfunction:: gpio_isr_handler_remove
|