esp32s3 r8
第一种申请方式
TUYA_GPIO_BASE_CFG_T touch_int;
touch_int.direct=TUYA_GPIO_INPUT;
touch_int.level=TUYA_GPIO_LEVEL_HIGH;
touch_int.mode=TUYA_GPIO_PULLUP;
tkl_gpio_init(PIN_TOUCH_INT,&touch_int);
TUYA_GPIO_IRQ_T touch_int_irq;
touch_int_irq.arg=(void*)PIN_TOUCH_INT;
touch_int_irq.mode=TUYA_GPIO_IRQ_FALL;
touch_int_irq.cb=touch_ini_pin_iqr;
tkl_gpio_irq_init(PIN_TOUCH_INT, &touch_int_irq);
tkl_gpio_irq_enable(PIN_TOUCH_INT);
第二种申请方式
gpio_config_t int_gpio_config = {
.mode = GPIO_MODE_INPUT,
.pull_up_en=GPIO_PULLUP_ENABLE,
.pull_down_en=GPIO_PULLUP_DISABLE ,
.pin_bit_mask = 1ULL << PIN_TOUCH_INT,
//.intr_type=GPIO_INTR_ANYEDGE ,
};
ESP_ERROR_CHECK(gpio_config(&int_gpio_config));
gpio_install_isr_service(ESP_INTR_FLAG_LEVEL1);
gpio_isr_handler_add(PIN_TOUCH_INT, my_lcd_touch_int_pin_isr_handler, NULL);
用了这两种申请gpio外中断,会造成死机