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
0port 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
16Note
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.