news 2026/5/16 4:49:31

使用VSCode创建第一个ESP-IDF项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用VSCode创建第一个ESP-IDF项目

1.在VSCode中安装ESP-IDF:

在 VS Code 中安装 ESP-IDF:在-VS-Code-中安装-ESP-IDF、新建项目
【ESP-IDF篇】搭建ESP-IDF软件开发环境,包括手动命令行和VSCode两种方式
安装过程中可能会遇到的问题:解决-pip-安装第三方包时因-SSL-报错_pip-ssl error

在完全使用VSCode安装ESP-IDF环境后,不会存在ESP-IDF Terminal,而只能在VSCode中使用。所以我们可以通过执行esp-idf安装路径下的export.bat脚本来导出环境变量。下面是在任意路径下创建ESP-IDF Terminalbat脚本
CMD获取ESP-IDF安装路径:echo %IDF_PATH%

@echo offset"startdir=%cd%"start cmd.exe /K"cd %IDF_PATH% && export.bat && cd %startdir%"

bat脚本执行结果:

2. 创建第一个项目

创建项目idf.py create-project [项目名称]

进入项目目录并使用VSCode打开项目

添加ESP-IDF配置文件夹

编写void app_main(void)函数

#include<stdio.h>#include<stdlib.h>#include"freertos/FreeRTOS.h"#include"freertos/task.h"#include"freertos/semphr.h"staticSemaphoreHandle_t sync_task_1;staticSemaphoreHandle_t sync_task_2;staticSemaphoreHandle_t sync_task_3;volatileintval=5;staticvoidvTask1(void*pvParameters){xSemaphoreTake(sync_task_1,portMAX_DELAY);vTaskDelay(pdMS_TO_TICKS(10));for(;;){printf("task 1 run with %d\r\n",val);val--;vTaskDelay(pdMS_TO_TICKS(500));}}staticvoidvTask2(void*pvParameters){xSemaphoreTake(sync_task_2,portMAX_DELAY);vTaskDelay(pdMS_TO_TICKS(10));for(;;){printf("task 2 run with %d\r\n",val);val++;vTaskDelay(pdMS_TO_TICKS(500));}}staticvoidvTask3(void*pvParameters){xSemaphoreTake(sync_task_3,portMAX_DELAY);vTaskDelay(pdMS_TO_TICKS(10));for(;;){printf("task 3 run\r\n");vTaskDelay(pdMS_TO_TICKS(500));}}voidapp_main(){//Allow other core to finish initializationvTaskDelay(pdMS_TO_TICKS(100));UBaseType_t uxPriorityMain=uxTaskPriorityGet(NULL);//Create semaphores to synchronizesync_task_1=xSemaphoreCreateBinary();sync_task_2=xSemaphoreCreateBinary();sync_task_3=xSemaphoreCreateBinary();// create taskxTaskCreatePinnedToCore(vTask1,"task 1",4096,NULL,uxPriorityMain+1,NULL,tskNO_AFFINITY);xTaskCreatePinnedToCore(vTask2,"task 2",4096,NULL,uxPriorityMain+2,NULL,tskNO_AFFINITY);xTaskCreatePinnedToCore(vTask3,"task 3",4096,NULL,uxPriorityMain+3,NULL,tskNO_AFFINITY);// start taskxSemaphoreGive(sync_task_3);xSemaphoreGive(sync_task_2);xSemaphoreGive(sync_task_1);}

选择COM端口



运行项目:按顺序执行build-->flash--->monitor,命令行:idf.py build--->idf.py -p [端口] flash--->idf.py -p [端口] monitor

选择调试方式

打开监视器(monitor)

使用快捷键Ctrl+]退出监视器
其他:

  1. esp-idf-监视器乱码_the_hudashao的博客-CSDN博客
  2. 安装驱动CP2102驱动
  3. ESP-IDF官方文档
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 4:48:23

5分钟快速上手Ketcher:免费开源的Web分子绘图神器

5分钟快速上手Ketcher&#xff1a;免费开源的Web分子绘图神器 【免费下载链接】ketcher Web-based molecule sketcher 项目地址: https://gitcode.com/gh_mirrors/ke/ketcher Ketcher是一款功能强大的开源化学绘图工具&#xff0c;专为化学家、生物学家和研究人员设计。…

作者头像 李华
网站建设 2026/5/16 4:46:35

AI提示词工程化:从GitHub项目到团队协作的工程实践

1. 项目概述&#xff1a;从“提示词仓库”到“AI协作新范式”最近在GitHub上看到一个挺有意思的项目&#xff0c;叫instructa/ai-prompts。光看名字&#xff0c;你可能会觉得这又是一个收集了各种ChatGPT、Midjourney提示词的仓库&#xff0c;网上这种资源不是一抓一大把吗&…

作者头像 李华
网站建设 2026/5/16 4:46:13

React Router和React Query完全指南:构建企业级应用

React Router和React Query完全指南&#xff1a;构建企业级应用 【免费下载链接】complete-intro-to-react-v8 The Complete Intro to React, as taught by Brian Holt on Frontend Masters 项目地址: https://gitcode.com/gh_mirrors/co/complete-intro-to-react-v8 Re…

作者头像 李华