esp32/include/periph_cpu.h¶
CPU specific definitions and functions for peripheral handling.
-
PROVIDES_PM_SET_LOWEST
¶
-
PROVIDES_PM_RESTART
¶
-
PROVIDES_PM_OFF
¶
-
PORT_GPIO
¶ Available ports on the ESP32.
1
0
port GPIO
-
GPIO_PIN_NUMOF
¶ Define CPU specific number of GPIO pins.
1
40
-
GPIO_PIN_COUNT
¶ 1
GPIO_PIN_NUMOF
-
GPIO0
¶ 1
(GPIO_PIN(PORT_GPIO,0))
-
GPIO1
¶ 1
(GPIO_PIN(PORT_GPIO,1))
-
GPIO2
¶ 1
(GPIO_PIN(PORT_GPIO,2))
-
GPIO3
¶ 1
(GPIO_PIN(PORT_GPIO,3))
-
GPIO4
¶ 1
(GPIO_PIN(PORT_GPIO,4))
-
GPIO5
¶ 1
(GPIO_PIN(PORT_GPIO,5))
-
GPIO6
¶ 1
(GPIO_PIN(PORT_GPIO,6))
-
GPIO7
¶ 1
(GPIO_PIN(PORT_GPIO,7))
-
GPIO8
¶ 1
(GPIO_PIN(PORT_GPIO,8))
-
GPIO9
¶ 1
(GPIO_PIN(PORT_GPIO,9))
-
GPIO10
¶ 1
(GPIO_PIN(PORT_GPIO,10))
-
GPIO11
¶ 1
(GPIO_PIN(PORT_GPIO,11))
-
GPIO12
¶ 1
(GPIO_PIN(PORT_GPIO,12))
-
GPIO13
¶ 1
(GPIO_PIN(PORT_GPIO,13))
-
GPIO14
¶ 1
(GPIO_PIN(PORT_GPIO,14))
-
GPIO15
¶ 1
(GPIO_PIN(PORT_GPIO,15))
-
GPIO16
¶ 1
(GPIO_PIN(PORT_GPIO,16))
-
GPIO17
¶ 1
(GPIO_PIN(PORT_GPIO,17))
-
GPIO18
¶ 1
(GPIO_PIN(PORT_GPIO,18))
-
GPIO19
¶ 1
(GPIO_PIN(PORT_GPIO,19))
-
GPIO21
¶ 1
(GPIO_PIN(PORT_GPIO,21))
-
GPIO22
¶ 1
(GPIO_PIN(PORT_GPIO,22))
-
GPIO23
¶ 1
(GPIO_PIN(PORT_GPIO,23))
-
GPIO25
¶ 1
(GPIO_PIN(PORT_GPIO,25))
-
GPIO26
¶ 1
(GPIO_PIN(PORT_GPIO,26))
-
GPIO27
¶ 1
(GPIO_PIN(PORT_GPIO,27))
-
GPIO32
¶ 1
(GPIO_PIN(PORT_GPIO,32))
-
GPIO33
¶ 1
(GPIO_PIN(PORT_GPIO,33))
-
GPIO34
¶ 1
(GPIO_PIN(PORT_GPIO,34))
-
GPIO35
¶ 1
(GPIO_PIN(PORT_GPIO,35))
-
GPIO36
¶ 1
(GPIO_PIN(PORT_GPIO,36))
-
GPIO37
¶ 1
(GPIO_PIN(PORT_GPIO,37))
-
GPIO38
¶ 1
(GPIO_PIN(PORT_GPIO,38))
-
GPIO39
¶ 1
(GPIO_PIN(PORT_GPIO,39))
-
HAVE_GPIO_FLANK_T
¶ Override mode flank selection values.
-
enum
gpio_flank_t
¶ - GPIO_NONE
= 0
- GPIO_LOW
- emit interrupt when pin low
- GPIO_HIGH
= 5
- emit interrupt on low level
- GPIO_FALLING
- emit interrupt on falling flank
- GPIO_RISING
- emit interrupt on rising flank
- GPIO_BOTH
- emit interrupt on both flanks
- GPIO_NONE
-
HAVE_GPIO_MODE_T
¶ Override GPIO modes.
-
enum
gpio_mode_t
¶ - GPIO_IN_ANALOG
= ((uint8_t)OVERRIDE_ANALOG)
- input, analog
- GPIO_IN_OUT
- input and output
- GPIO_IN_OD
- input and open-drain output
- GPIO_IN_OD_PU
- input and open-drain output
- GPIO_IN
= ((uint8_t)OVERRIDE_DISABLE)
- input, no pull
- GPIO_IN_PD
= ((uint8_t)OVERRIDE_PULLDOWN)
- input, pull-down
- GPIO_IN_PU
= ((uint8_t)OVERRIDE_PULLUP)
- input, pull-up
- GPIO_OUT
= ((uint8_t)OVERRIDE_ENABLE)
- output
- GPIO_OD
= (0xff)
- not supported
- GPIO_OD_PU
= (0xff)
- not supported
- GPIO_IN_ANALOG
-
HAVE_ADC_RES_T
¶ Possible ADC resolution settings.
-
enum
adc_res_t
¶ - ADC_RES_7BIT
= (0 << 4)
- ADC resolution: 7 bit.
- ADC_RES_9BIT
= (1 << 4)
- ADC resolution: 9 bit.
- ADC_RES_11BIT
- ADC resolution: 11 bit.
- ADC_RES_6BIT
= (0xa00)
- not supported by hardware
- ADC_RES_8BIT
= (0xb00)
- not supported by hardware
- ADC_RES_10BIT
= (2 << 4)
- ADC resolution: 10 bit.
- ADC_RES_12BIT
= (3 << 4)
- ADC resolution: 12 bit.
- ADC_RES_14BIT
= (0xc00)
- not supported by hardware
- ADC_RES_16BIT
= (0xd00)
- not supported by hardware
- ADC_RES_7BIT
-
DAC_NUMOF_MAX
¶ Number of DAC cahnnels that could be used at maximum.
1
2
-
const unsigned
dac_chn_num
¶ Number of DAC channels determined from DAC_GPIOS.
-
PERIPH_I2C_NEED_READ_REG
¶ i2c_read_reg required
-
PERIPH_I2C_NEED_READ_REGS
¶ i2c_read_regs required
-
PERIPH_I2C_NEED_WRITE_REG
¶ i2c_write_reg required
-
PERIPH_I2C_NEED_WRITE_REGS
¶ i2c_write_regs required
-
const unsigned
i2c_bus_num
¶ Number of I2C interfaces determined from I2Cn_* definitions.
-
PWM_CHANNEL_NUM_DEV_MAX
¶ Maximum number of channels per PWM device.
1
(6)
-
const unsigned
pwm_dev_num
¶ Number of PWM devices determined from PWM0_GPIOS and PWM1_GPIOS.
-
PERIPH_SPI_NEEDS_TRANSFER_BYTE
¶ requires function spi_transfer_byte
-
PERIPH_SPI_NEEDS_TRANSFER_REG
¶ requires function spi_transfer_reg
-
PERIPH_SPI_NEEDS_TRANSFER_REGS
¶ requires function spi_transfer_regs
-
const unsigned
spi_bus_num
¶ Number of SPI interfaces determined from SPI_* definitions.
-
TIMER_NUMOF
¶ hardware timer modules are used for timer implementation (default)
1
(3)
-
TIMER_CHANNELS
¶ 1
(1)
-
TIMER_SYSTEM
¶ Timer used for system time.
1
TIMERG0.hw_timer[0]
-
CPUID_LEN
¶ Length of the CPU_ID in octets.
1
(7U)
-
GPIO_UNDEF
¶ Definition of a fitting UNDEF value.
1
(0xff)
-
GPIO_PIN
( x, y)¶ Define CPU specific GPIO pin generator macro.
1
((x << 4) | y)
-
ADC_NUMOF_MAX
¶ Number of ADC cahnnels that could be used at maximum.
1
16
Note
GPIO37 and GPIO38 are usually not broken out on ESP32 modules and are therefore not usable. The maximum number of ADC channels (ADC_NUMOF_MAX) is therefore set to 16.
-
const unsigned
adc_chn_num
¶ Number of ADC channels determined from ADC_GPIOS.