新建项目
打开vscode,找到左边的ESP-IDF图标,打开Advanced->新项目向导
这时上方会出现让你选择ESP-IDF版本,选择其中一个就行
点一下响应的IDF版本后,会出现如下界面,我们按下图的要求填写就行
我们创建一个空工程,按下图选择
如果大家选用的是IDF5.5.5版本,则可以选择Extension里面的template-app
我们打开新建的工程
工程编辑
上述步骤后就会出现一个新的vscode窗口,并且打开了helloworld这个文件夹,
分析VScode新建文件夹目录中的每个文件的意义
注意:CTRL+shift+p搜索Add vscode configuration folder
我们直接在main/main.c文件里面输入如下代码
#include <stdio.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "esp_log.h" #define TAG "main" void app_main(void) { while(1) { vTaskDelay(pdMS_TO_TICKS(1000)); ESP_LOGI(TAG,"Helloworld"); } }代码解析:
#include "freertos/FreeRTOS.h" #include "freertos/task.h"
这两句是包含freertos操作系统任务相关的头文件,如果我们要使用vTaskDelay()这个函数就需要包含这两个文件,其中#include "freertos/FreeRTOS.h"这句代码必须在上面
#include "esp_log.h"
这个是打印相关的头文件,如果要使用打印的宏,需要包含此函数,常用的有如下三个函数
ESP_LOGI():提示信息打印,在终端中会显示绿色
ESP_LOGW():告警信息打印,在终端中会显示黄色
ESP_LOGE():错误信息打印,在终端中会显示红色
void app_main(void)
这个是我们应用程序的入口,有点像C语言中的main函数。
vTaskDelay(pdMS_TO_TICKS(1000));
vTaskDelay是FreeRTOS里面的延时函数,参数是系统节拍而非时间,如需延时时间,可用pdMS_TO_TICKS宏定义来把时间转换成对应的系统节拍
ESP_LOGI(TAG,"Helloworld");
ESP_LOGI函数(宏定义)第一个参数要给一个TAG,本质上就是一个字符串,这个TAG在打印日志中会在你打印的内容前部加上,方便我们搜索。TAG后面的参数和C语言中的printf一样。
工程配置
点击下图这个齿轮图标,打开项目配置
我们按下图操作将Flash、系统时钟和PSRAM配置好
最后点击保存
烧录和调试
配置好后,我们插上开发板打开电源,先配置好COM口
然后点一下这个“小火苗”,
如果上方出现,选择烧录方式,选UART
烧录完成,程序自动运行效果如下
我们按下Ctrl+],这个组合按键就可以退出这个调试界面