
ESP32-IDF从入门到不想放弃
文章平均质量分 95
此专栏适合刚刚入门ESP-IDF开发的初学者,一次订阅,永久生效。保姆级熟悉ESP-IDF平台下开发ESP32,完整代码注释、详细硬件连接、手把手细节讲解。简单配置下载源码即可烧录运行。
单片机菜鸟哥
野生单片机电子硬件爱好者,曾做过android原生开发,flutter开发,小程序开发,略略懂点后端开发,业余推广8266 arduino技术学习。做过若干PCB、STM32、ESP32、BLE等项目开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ESP32-IDF开发之旅 外设篇④ 串口通信 Uart
ESP32-S3 UART串口通信详解 本文介绍了ESP32-S3的UART串口通信配置流程,涵盖硬件引脚分配、参数设置、数据收发等关键步骤。原创 2025-09-06 21:04:48 · 5 阅读 · 0 评论 -
ESP32-IDF开发之旅 外设篇③ PWM
本文介绍了如何在ESP32-S3上使用LED PWM控制器(LEDC)实现PWM功能。主要内容包括: 配置步骤: 包含LEDC头文件 配置定时器(设置速度模式、分辨率、频率等) 配置通道(绑定定时器、GPIO引脚) 调整占空比和频率 实操过程: 创建驱动文件(hello_pwm.c/.h) 初始化LEDC功能 实现呼吸灯效果测试 注意事项: ESP32-S3仅支持低速模式 PWM频率与分辨率成反比 改变频率会影响同定时器的所有通道 该方案可用于LED亮度控制等PWM应用场景。原创 2025-09-06 16:03:04 · 5 阅读 · 0 评论 -
ESP32-IDF开发之旅 外设篇② ADC
本文介绍了ESP32-S3的ADC功能开发流程,包括基本参数配置、采样原理和实际应用。主要内容有: ESP32-S3集成两个12位SAR ADC,共20个模拟通道,但WiFi使用时ADC2不可用 ADC开发关键步骤: 配置位宽(9-12位)和衰减(0-11dB) 读取原始ADC值(0-4095) 使用校准功能提高精度 提供了完整的ADC初始化代码示例和电压转换方法。原创 2025-09-06 14:24:14 · 9 阅读 · 0 评论 -
ESP32-IDF开发之旅 外设篇① GPIO常用操作
ESP32开发基础:GPIO操作实践 本文介绍了ESP32开发中的GPIO基础操作,包含三个主要部分。原创 2025-09-06 11:06:53 · 226 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇⑪ ESP-IDF 任务看门狗以及多核任务
本文介绍了ESP-IDF中的任务看门狗(TWDT)和多核任务管理。TWDT用于监控任务是否被挂起,可同时监视双核任务,通过定时喂狗机制检测任务阻塞。文中详细讲解了TWDT的配置方法、订阅流程及示例代码,并演示了如何触发和处理看门狗超时。针对ESP32双核特性,重点介绍了xTaskCreatePinnedToCore函数的使用,说明如何将任务绑定到指定核心(CPU0/CPU1)运行,并提供了多核任务创建的代码示例。这些机制对提高系统稳定性和优化多核性能至关重要。原创 2025-09-04 19:58:56 · 22 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇⑩ WSL搭建Linux Ubuntu esp-idf编译环境,加快速度
本文介绍了在Windows系统中通过WSL2安装Ubuntu并搭建ESP-IDF开发环境的完整流程。主要内容包括:启用WSL2功能、安装Ubuntu系统、配置apt国内镜像源、安装ESP-IDF开发工具链、编译示例项目,以及解决WSL2环境下USB设备访问问题。重点说明了如何通过usbipd工具实现Windows与WSL2之间的USB设备共享,最终完成固件烧录。该方案为Windows用户提供了高效的Linux开发环境,显著提升了ESP32项目的编译速度。原创 2025-09-04 00:30:40 · 322 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇⑨ ESP-IDF的FreeRTOS任务间通信和同步
本文介绍了FreeRTOS任务间通信中的队列机制,重点讲解了队列的创建、发送和接收数据的API使用方法。文章提供了详细的技术说明和示例代码,包括xQueueCreate、xQueueSend、xQueueReceive等核心函数的参数说明和返回值解释。通过一个2生产者+1消费者的实际案例,展示了如何在ESP-IDF环境下使用FreeRTOS队列实现任务间通信。示例中包含了数据发送失败处理和接收数据验证等实用技巧,为开发者提供了可参考的实现模式。原创 2025-09-02 22:18:54 · 31 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇⑧ ESP-IDF的FreeRTOS任务常用方法
摘要: FreeRTOS是专为嵌入式系统设计的开源实时操作系统内核,以精简高效著称,适合资源受限的MCU。其核心功能包括任务调度、通信、同步和内存管理,支持抢占式调度、时间片调度和协程式调度(已弃用)。任务状态分为运行、就绪、阻塞和挂起四种。ESP-IDF集成FreeRTOS,用户通过app_main()入口创建任务,使用xTaskCreate()动态分配任务内存,需指定任务函数、名称、栈大小、参数、优先级及句柄。任务函数需为无限循环,优先级高的任务可抢占低优先级任务,确保实时性。原创 2025-08-31 21:49:54 · 34 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇⑦ ESP-IDF 中的核心任务,知道就行
摘要: 本文解析ESP-IDF中五大核心任务(Main Task、App Task、Event Task、WiFi Task、LwIP Task)的功能、优先级及交互关系。Main Task负责初始化;App Task实现用户逻辑;Event Task作为事件分发中心;WiFi Task处理底层无线协议;LwIP Task管理TCP/IP协议栈。通过STA模式连接WiFi的示例,阐明任务间协作机制,并类比公司角色加深理解。掌握这些任务的设计逻辑,有助于优化ESP32网络应用的实时性与稳定性。原创 2025-08-31 15:02:14 · 43 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇⑥ ESP32 组件构建系统
本文介绍了ESP32-IDF开发的项目结构及构建系统。主要内容包括:1) ESP-IDF项目由多个组件构成,包括基础库、驱动、操作系统等;2) 项目目录结构解析,包含CMakeLists.txt、sdkconfig配置文件、组件目录等关键部分;3) 项目CMakeLists文件的基本格式和必要内容。文章为初学者提供了理解ESP32开发项目框架的基础知识,有助于后续更复杂的开发工作。原创 2025-08-31 12:58:25 · 211 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇⑤ 第一个基础代码:ESP32S3 Blink点灯
本文介绍了ESP32-S3开发板的点灯教程。首先展示了开发板硬件特性,重点说明RGB灯对应IO48引脚。然后详细解析了Blink示例代码,包括GPIO配置、LED灯带控制等核心API函数的使用方法,如gpio_set_level()、led_strip_set_pixel()等。最后提供了完整的编译烧录步骤,涵盖工程配置、参数设置(如GPIO口、闪烁间隔)、目标板选择等关键环节,帮助开发者快速实现LED控制功能。原创 2025-08-24 13:30:43 · 336 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇④ VSCode ESP32的IDF开发环境注意要点
ESP-IDF开发环境快速指南 本文介绍了ESP-IDF开发环境的核心内容和使用要点。首先讲解了ESP-IDF安装目录结构,重点分析了components目录下的核心组件库,包括系统核心、外设驱动、网络连接、数据存储等模块。其次介绍了examples目录中的官方示例代码库,这是学习ESP32编程的最佳起点。最后简要说明了tools工具集和docs文档目录的作用。文章还提供了新建工程、VSCode工具使用、加快编译速度等实用技巧,帮助开发者快速上手ESP32开发。原创 2025-08-23 15:54:43 · 159 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇③ VSCode安装ESP32的IDF开发环境(Mac版本,Apple M1)
软件开发的搭建有三种选择:手动安装工具链,命令行方式使用Eclipse插件,IDE方式。原创 2024-12-01 19:36:04 · 1124 阅读 · 2 评论 -
ESP32-IDF开发之旅 基础篇② VSCode安装ESP32的IDF开发环境(Windows版本)
软件开发的搭建有三种选择:- 手动安装工具链,命令行方式- 使用`Eclipse`插件,IDE方式- 使用`VSCode`插件,IDE方式(推荐,本篇介绍)原创 2024-12-01 19:33:30 · 914 阅读 · 0 评论 -
ESP32-IDF开发之旅 基础篇① 走入ESP32-IDF
欢迎大家来到ESP32-IDF的世界,从现在开始,博主将以自己的学习历程来讲述是如何入门学习ESP32-IDF,分享自己的学习经验。原创 2024-11-27 16:57:27 · 3633 阅读 · 1 评论