Page 1 of 1

[已解决] ESP32S2>34的gpio做普通gpio不能中断吗?

Posted: Mon Jul 26, 2021 3:48 am
by hello_galaxy
用到gpio35 gpio36用于按键检测,log发现
// 0~39 except from 20, 24, 28~31 are valid
#define SOC_GPIO_VALID_GPIO_MASK (0xFFFFFFFFFFULL & ~(0ULL | BIT20 | BIT24 | BIT28 | BIT29 | BIT30 | BIT31))
#define GPIO_IS_VALID_GPIO(gpio_num) (((1ULL << (gpio_num)) & SOC_GPIO_VALID_GPIO_MASK) != 0)
是这样的!

Re: ESP32S2>34的gpio做普通gpio不能中断吗?

Posted: Mon Jul 26, 2021 6:42 am
by ESP_Gargamel
你问的是 ESP32-S2?但你这几行代码是 ESP32 的,S2 的应该是这样的:

Code: Select all

// 0~47 except from 22~25, 47 are valid
#define SOC_GPIO_VALID_GPIO_MASK             (0xFFFFFFFFFFFFULL & ~(0ULL | BIT22 | BIT23 | BIT24 | BIT25 | BIT47))
// GPIO 46, 47 are input only
#define SOC_GPIO_VALID_OUTPUT_GPIO_MASK     (SOC_GPIO_VALID_GPIO_MASK & ~(0ULL | BIT46 | BIT47))
你可以用 examples/peripherals/gpio/generic_gpio 试一下,把 INPUT 改成 IO35 & IO36。

Re: ESP32S2>34的gpio做普通gpio不能中断吗?

Posted: Wed Jul 28, 2021 10:11 am
by hello_galaxy
好的,感谢