当前位置: 首页 > news >正文

ESP32入门(详细流程)

ESP入门

注: 这是刚开始学写的文档

前置条件

  1. 完成vscode下载
  2. 添加ESP-IDF扩展
  3. 完成ESP-IDF扩展下载
  4. 选择烧录模式为URAT
  5. 已购买ESP32相对应的物品
  6. 插入ESP32选择ESP32对应的端口
  7. 进入BLINK目录

ESP32上的引脚标志

D 代表 GPIO
例如:

  • D1 代表 GPIO1
  • D2 代表 GPIO2
  • ...

1. 程序运行

步骤

  1. 构建(构建编译环境)
    image
  2. 烧录(将代码写入esp32)
    image
  3. 监视设备(显示设备运行状态)
    image

一键运行

全部清理 + 构建 + 烧录 + 监视设备

一键运行会重新构建bulid目录,设备差会耗时极长
image

2. 运行状态

目前一直在切换小灯的亮灭
Turning the LED OFF! (灭)
Turning the LED ON! (亮)
image

LED闪烁程序

image

configure_led() —— LED初始化函数
static void configure_led(void)
{ESP_LOGI(TAG, "Example configured to blink GPIO LED!");gpio_reset_pin(BLINK_GPIO);                    // 重置引脚状态gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); // 设置为输出模式
}
blink_led() —— LED控制函数
static void blink_led(void)
{// 直接设置GPIO电平:0=低电平(灭) 或 1=高电平(亮)gpio_set_level(BLINK_GPIO, s_led_state);
}
函数/表达式 详解
void app_main(void) ESP-IDF的主入口函数,程序启动后自动执行
s_led_state == true ? "ON" : "OFF" 三元运算符:条件?值1:值2
!s_led_state 逻辑非!0=1, !1=0(布尔翻转)
vTaskDelay(ticks) 延时
CONFIG_BLINK_PERIOD 配置项(如1000=1000ms)
portTICK_PERIOD_MS 每个Tick的毫秒数(通常1ms)

3. 项目文件解析

项目文件结构

📁 BLINK/ ← 项目根目录
├── 📁 main/ ← 这是一个组件
│ ├── 📄 CMakeLists.txt ← 写 idf_component_register
│ └── 📄 blink_example_main.c
├── 📄 CMakeLists.txt ← 项目配置(包含 project())
└── 📄 sdkconfig ← 编译配置

项目级 CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(blink)          # ← 项目名称(可以自定义命名)

main文件结构

📁 main/ ← 组件目录(通常叫main或自定义名)
├── 📄 blink_example_main.c ← 主代码文件
├── 📄 CMakeLists.txt ← 本文件(组件构建配置)
└── 📄 其他.h头文件 ← 会被 INCLUDE_DIRS "." 找到

mian/CMakeList代码
idf_component_register(SRCS "main.c"INCLUDE_DIRS "."
)
参数 含义
idf_component_register ESP-IDF CMake宏,注册一个组件
SRCS Source files,要编译的 .c.cpp 文件
INCLUDE_DIRS 头文件包含路径,. 表示当前目录

4. 编写自己的程序

  1. 在main文件夹下创建main.c
    image
hello wolrd代码
#include <stdio.h>void app_main(void)
{printf("hello world\n");
}
  1. 修改CMakeLists.txt
    将blink_example_main.c 修改为 mian1.c
    image
http://www.jsqmd.com/news/445737/

相关文章:

  • 机器人装备用无刷电机厂家排行榜:直流减速电机、直流无框马达、空心杯电机、驱动器定制、驱动器开发、伺服轮毂电机选择指南 - 优质品牌商家
  • 游戏化学习平台:重新定义编程教育的创新方案
  • 甘肃万通汽修教育学院地址在哪,在当地口碑如何? - mypinpai
  • 曹操取色器软件:一款简单易用的取色器软件
  • 分析电动汽车换电加盟服务,深圳电池营行靠谱吗? - 工业推荐榜
  • 零依赖摄像头流媒体服务器解决方案:go2rtc全功能指南
  • 解锁5大核心功能:面向数据科学家的pymoo实战指南
  • 2026非开挖拉管施工优质服务商推荐 - 优质品牌商家
  • 2026必知的品牌排行,白牦牛榜上有名,鲜牛肉/天祝白牦牛肉/白牦牛肉/白牦牛/牛肉/新鲜牛肉,白牦牛供应商找哪家 - 品牌推荐师
  • 2026建筑工程地磅推荐榜 聚焦耐用与无人值守 - 优质品牌商家
  • 音乐喷泉工程巡礼:技术与艺术融合的典范,音乐喷泉产品精选优质品牌解析 - 品牌推荐师
  • 说说全国牛饲料优质厂家,黑龙江大正原农牧靠谱吗? - 工业品网
  • 寻找可靠供应商?这些滚牙机源头厂家评价不错,数控滚丝机/二轮滚丝机 /三轮滚丝机 /滚牙机 ,滚牙机源头厂家哪家好 - 品牌推荐师
  • i茅台智能预约系统:分布式架构与智能决策引擎的实战价值
  • 境道原竹口碑咋样,在浙江海南广东有哪些成功案例 - 工业设备
  • GPU内存稳定性测试实用指南:使用memtest_vulkan诊断显存问题
  • 想找适合接待亲戚的特色茶馆,2026重庆这些排名前十 - 工业品网
  • Leetcode 哨兵节点
  • 2026电子制造优质ARM电路开发服务商推荐榜:DSP程序开发、FPGA开发、FPGA电路开发、FPGA硬件开发选择指南 - 优质品牌商家
  • 2026年境道原竹好用吗,探寻原竹实力及售后保障是否完善 - 工业设备
  • 2026年热门的翻抛机刀盘厂家推荐:自行走翻抛机/翻抛机行走系统用户好评厂家推荐 - 行业平台推荐
  • 直击2026年2月国内数字经济电商,口碑好的电商数据分析系统推荐榜,企业适用的数字化运营,数字经济电商平台推荐 - 品牌推荐师
  • 2026年CTU货架厂商推荐,性价比之选来啦,牛脚式货架/贯通货架/高位货架/五金货架/不锈钢货架,CTU货架厂家选哪家 - 品牌推荐师
  • 2026食用油滤油机高性价比优质厂家推荐:梦想牌板框纸板过滤机/梦想牌板框过滤机/梦想牌过滤机厂家/选择指南 - 优质品牌商家
  • 2026年知名的槽式翻抛机厂家推荐:有机肥翻抛机/翻抛机行走系统值得信赖厂家推荐(精选) - 行业平台推荐
  • 工业AI驱动的设备健康管理:基于LSTM的预测性维护解决方案
  • 2026降AI工具深度横评:哪款能帮你顺利过审? - 仙仙学姐测评
  • Solutions - NOISG 2019 重现赛
  • 如何高效解决参考文献格式难题?gbt7714-bibtex-style让学术写作效率提升5倍
  • 2026年2月新鲜出炉!市场口碑好的太阳膜实体店推荐排行,沈北贴膜/玻璃膜/隐形车衣/汽车车衣,太阳膜门店联系电话 - 品牌推荐师