/* * SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #include #include #include #include #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/queue.h" #include "driver/gpio.h" /** * Brief: * This test code shows how to configure gpio and how to use gpio interrupt. * * GPIO status: * GPIO_OUTPUT_IO_0: output * GPIO_OUTPUT_IO_1: output * GPIO_INPUT_IO_0: input, pulled up, interrupt from rising edge and falling edge * GPIO_INPUT_IO_1: input, pulled up, interrupt from rising edge. * * Note. You can check the default GPIO pins to be used in menuconfig, and the IOs can be changed. * * Test: * Connect GPIO_OUTPUT_IO_0 with GPIO_INPUT_IO_0 * Connect GPIO_OUTPUT_IO_1 with GPIO_INPUT_IO_1 * Generate pulses on GPIO_OUTPUT_IO_0/1, that triggers interrupt on GPIO_INPUT_IO_0/1 * */ #define GPIO_OUTPUT_IO_0 CONFIG_GPIO_OUTPUT_0 #define GPIO_OUTPUT_IO_1 CONFIG_GPIO_OUTPUT_1 #define GPIO_OUTPUT_PIN_SEL ((1ULL<