用 PlatformIO + ESP-IDF 框架开发 ESP32

PlatformIO + ESP-IDF 框架 开发 ESP32,是一个现代化、高效的方案。


🚀 PlatformIO + ESP-IDF 开发流程

1️⃣ 安装 PlatformIO

👉 推荐用 VSCode + PlatformIO 插件


2️⃣ 创建 ESP-IDF 项目

在 VSCode → PlatformIO: HomeNew Project

  • Project name: esp32_idf_demo
  • Board: 选 Espressif ESP32 Dev Module
  • Framework: ESP-IDF

点击 Finish,PlatformIO 会自动生成工程结构,并下载 ESP-IDF SDK。


3️⃣ 工程目录结构

生成的目录大概是:

esp32_idf_demo/
 ├── include/           # 头文件
 ├── lib/               # 静态库或自定义库
 ├── src/               # 源文件 (main.c / main.cpp)
 ├── platformio.ini      # 配置文件
 └── test/               # 单元测试代码

4️⃣ 编辑 src/main.c 示例代码

这里是一个基础 ESP-IDF 风格的闪烁 LED 示例:

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"

#define LED_PIN GPIO_NUM_2   // 一般开发板内置LED接在GPIO2

void app_main(void)
{

    gpio_config_t io_conf = {
            .pin_bit_mask = (1ULL << LED_PIN),
            .mode = GPIO_MODE_OUTPUT,
            .pull_up_en = 0,
            .pull_down_en = 0,
            .intr_type = GPIO_INTR_DISABLE
    };
    gpio_config(&io_conf);

    gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);

    while (1) {
        gpio_set_level(LED_PIN, 1);
        ESP_LOGI("BLINK", "LED ON");
        vTaskDelay(500 / portTICK_PERIOD_MS);

        gpio_set_level(LED_PIN, 0);
        ESP_LOGI("BLINK", "LED OFF");
        vTaskDelay(500 / portTICK_PERIOD_MS);
    }
}


5️⃣ platformio.ini 文件自动生成,一般如下:


[env:esp32dev]
platform = espressif32
board = esp32dev
framework = espidf

upload_speed = 460800
monitor_speed = 115200

👉 可以在这里自定义:

  • 烧录速度 upload_speed
  • 分区表
  • CMake 参数等

6️⃣ 编译、烧录、串口监视

在 VSCode 底部状态栏或 Terminal:

pio run             # 编译
pio run -t upload   # 编译 + 烧录
pio device monitor  # 串口监视器

或者点击左下角的 PlatformIO 按钮选择操作。


🌟 常用 PlatformIO 命令

命令功能
pio run编译工程
pio run -t upload编译并烧录
pio device monitor打开串口监视器
pio run -t clean清理构建文件
pio check静态代码分析

📝 提示

串口监视速率:注意和开发板默认一致(一般 115200 或 921600)
驱动程序:Windows 用户确保 USB-UART 驱动已安装(CP2102 / CH340)
ESP-IDF API 文档https://docs.espressif.com/projects/esp-idf/en/latest/


💡 进阶

⚡ 配置 WiFi、蓝牙、HTTP、MQTT 等代码示例
⚡ 自定义分区表、SPIFFS、NVS 存储
⚡ 配置 CMakeLists.txt 的高级用法
⚡ 同时支持 Arduino + ESP-IDF 混合框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值