代码

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

#define LED 2
void app_main(void)
{
    gpio_reset_pin(LED);
    // gpio_set_direction(LED, GPIO_MODE_OUTPUT);
    gpio_set_direction(LED, GPIO_MODE_INPUT_OUTPUT);
    while (1)
    {
        // 电平为低
        gpio_set_level(LED, 0);

        // 延迟1S
        vTaskDelay(pdMS_TO_TICKS(1000));
        printf("level:%d\n", gpio_get_level(LED));
        // 电平为高
        gpio_set_level(LED, 1);
        // 延迟1S
        vTaskDelay(pdMS_TO_TICKS(1000));
        printf("level:%d\n", gpio_get_level(LED));
    }
}

注意事项:

如果使用gpio_set_direction(LED, GPIO_MODE_OUTPUT);,则gpio_get_level获取到的值始终为0