#乐鑫IDF中使用gpio_config();API后会卡死
对比实验去除初始化代码 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 引脚进行测试。