乐鑫IDF的GPIO初始化卡死

#乐鑫IDF中使用gpio_config();API后会卡死

img


上图为我的代码

对比实验去除初始化代码 gpio_userinit()后就能正常运行

使用的乐鑫IDF + Vscode
请问是哪里出了问题

该回答引用GPTᴼᴾᴱᴺᴬᴵ
下面是修改后的代码示例:

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

void gpio_userinit() {
    gpio_config_t gpio_init_structure = {
        .mode = GPIO_MODE_OUTPUT,
        .pin_bit_mask = GPIO_NUM_2,
        .pull_up_en = GPIO_PULLUP_DISABLE,
        .pull_down_en = GPIO_PULLDOWN_DISABLE,
        .intr_type = GPIO_INTR_DISABLE
    };

    if (gpio_config(&gpio_init_structure) == ESP_OK) {
        printf("GPIO 初始化成功\n");
    }
}

void app_main(void) {
    printf("hello world\n");
    gpio_userinit();
    gpio_set_level(GPIO_NUM_2, 1);
    fflush(stdout);

    int a = 0;
    while (1) {
        printf("运行中 %d\n", a);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
        a++;
    }
}


如果问题仍然存在,请检查您的硬件连接是否正确,同时也可以尝试使用其他 GPIO 引脚进行测试。