GPIO 32 不能接收中断
Posted: Wed Jan 12, 2022 1:49 am
我用的是ESP32 wroom UE 模块,使用中断例程,在使用GPIO32 的时候,发现这个IO不响应中断(试过一部分IO都能响应中断的),请问这是什么原因,怎么修改。设置代码如下:
//配置GPIO结构体
gpio_config_t io_conf;
io_conf.intr_type = GPIO_INTR_ANYEDGE; // 下降沿和上升沿触发中断
io_conf.pin_bit_mask = 1 << key_gpio_pin; // 设置GPIO号
io_conf.mode = GPIO_MODE_INPUT; // 模式输入
io_conf.pull_up_en = GPIO_PULLUP_ENABLE; // 端口上拉使能
gpio_config(&io_conf);
// 设置GPIO中断类型
gpio_set_intr_type(key_gpio_pin, GPIO_INTR_ANYEDGE);// 下降沿和上升沿触发中断
// 安装GPIO中断服务
gpio_install_isr_service(0);//设置中断优先级 ???
// 添加GPIO中断事件回调函数
gpio_isr_handler_add(key_gpio_pin, gpio_isr_handler, (void *) key_gpio_pin);
//配置GPIO结构体
gpio_config_t io_conf;
io_conf.intr_type = GPIO_INTR_ANYEDGE; // 下降沿和上升沿触发中断
io_conf.pin_bit_mask = 1 << key_gpio_pin; // 设置GPIO号
io_conf.mode = GPIO_MODE_INPUT; // 模式输入
io_conf.pull_up_en = GPIO_PULLUP_ENABLE; // 端口上拉使能
gpio_config(&io_conf);
// 设置GPIO中断类型
gpio_set_intr_type(key_gpio_pin, GPIO_INTR_ANYEDGE);// 下降沿和上升沿触发中断
// 安装GPIO中断服务
gpio_install_isr_service(0);//设置中断优先级 ???
// 添加GPIO中断事件回调函数
gpio_isr_handler_add(key_gpio_pin, gpio_isr_handler, (void *) key_gpio_pin);