1、安装 IDF环境离线包


开始安装。

esp32 dependencies esp32 dependencies lock_#include

应用修复,后,再下一步。

esp32 dependencies esp32 dependencies lock_离线_02

选择自己的安装位置,下一步。

esp32 dependencies esp32 dependencies lock_嵌入式硬件_03

默认,下一步。

esp32 dependencies esp32 dependencies lock_ESP32_04

开始安装,等待安装完成。

esp32 dependencies esp32 dependencies lock_esp32 dependencies_05

esp32 dependencies esp32 dependencies lock_嵌入式硬件_06

esp32 dependencies esp32 dependencies lock_esp32 dependencies_07

esp32 dependencies esp32 dependencies lock_离线_08

自带的Eclipse IDE需要JRE环境。因为我这是拿了台新系统的旧电脑来演示,什么工具都没有。

不用理会,反正这个IDE自己用不习惯,后面用VSC。如个人真的有需要的话,再把JRE或者JDK装上。

esp32 dependencies esp32 dependencies lock_嵌入式硬件_09



2、VScode乐鑫插件安装


  • VScode安装乐鑫插件,搜索并安装。
  • 截至目前最新的插件版本是V1.4.0。本教程的操作均基于此版本。
  • 插件安装完后,查看 - 命令面板(快捷键Ctrl+Shift+P)。
  • 输入 configure esp-idf extension,点击。
  • 选择最后一项。使用已存在的配置。
  • 前两种方式均是在线安装,网络不好的会比较慢或者干脆不能安装成功。因为刚刚已经使用离线包搭建好了环境,接下来选 使用已存在的配置 即可。
  • 插件会自动检测并识别系统内的位置环境。
  • 静待成功。
  • 【注意】如果未出现第三项,也就是未自动检测出已存在配置。请使用第二项 高级 安装。
  • 按如下操作。选择实际路径。
  • 稍后会提示安装缺少的工具,点安装后等待即可。

3、从IDF的Demo中新建ESP32工程


  用 Vscode乐鑫插件 的功能,从SDK 的 Demo 模板中创建新工程。ESP-IDF自带了丰富的Demo,这些都会是以后学习的重要资源。

  • 查看 - 命令面板(快捷键Ctrl+Shift+P)。
  • 输入show examples projects,点击。
  • 点击弹出的 Use current ESP-ID,使用本地SDK。
  • 也就是最开始用离线版安装环境的路径。
  • 稍后会显示如下的界面。

esp32 dependencies esp32 dependencies lock_离线_10

4.创建工程

esp32 dependencies esp32 dependencies lock_ESP32_11

ESP32开发板类型选择

使用的NodeMCU32S开发板

esp32 dependencies esp32 dependencies lock_ESP32_12

esp32 dependencies esp32 dependencies lock_嵌入式硬件_13

esp32 dependencies esp32 dependencies lock_esp32 dependencies_14

串口连接开发板

esp32 dependencies esp32 dependencies lock_离线_15

编译工程(编译时间有点长)

esp32 dependencies esp32 dependencies lock_离线_16

esp32 dependencies esp32 dependencies lock_ESP32_17

下载程序 选择串口下载

esp32 dependencies esp32 dependencies lock_ESP32_18

esp32 dependencies esp32 dependencies lock_离线_19

下载程序(download)

esp32 dependencies esp32 dependencies lock_esp32 dependencies_20

esp32 dependencies esp32 dependencies lock_#include_21

代码(Hello World)

/* Hello World Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"

void app_main(void)
{
    printf("Hello world!\n");
    printf("delehub wzx 20220403!\n");
    printf("Hello ESP32 ESPIDF!\n");


    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);
    printf("This is %s chip with %d CPU core(s), WiFi%s%s, ",
            CONFIG_IDF_TARGET,
            chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    printf("silicon revision %d, ", chip_info.revision);

    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");

    printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size());

    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

效果

esp32 dependencies esp32 dependencies lock_嵌入式硬件_22

参考

1.ESP32c3开发环境搭建 IDF V4.4离线版安装使用 2.杨奉武–001-ESP32学习开发-开发环境搭建(Windows+VSCode)