docs: 更新文章

This commit is contained in:
DuRuofu
2025-02-22 18:49:16 +08:00
parent 7790a132e2
commit 1628ab48bb
80 changed files with 1432 additions and 985 deletions

360
README.md

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,8 @@
# 常见问题与解决
>[!INFO]
>这里也推荐大家参考:[ESP-FAQ](https://docs.espressif.com/projects/esp-faq/zh_CN/latest/index.html) 是由乐鑫官方推出的针对常见问题的总结。在线帮助我们的用户快速检索经常问到的问题,通过简单的解释获得解答。目前常见问题的种类涵盖:开发环境、应用方案、软件平台、硬件相关和测试测试。
> [!INFO]
> 在遇到问题时,推荐大家参考:[ESP-FAQ](https://docs.espressif.com/projects/esp-faq/zh_CN/latest/index.html),这是由乐鑫官方推出的常见问题汇总。它帮助用户快速检索常见问题,并通过简洁的解答解决疑惑。常见问题涉及的领域包括:开发环境、应用方案、软件平台、硬件相关问题以及测试相关内容。
## 索引

View File

@@ -1,7 +1,7 @@
# ESP32介绍
> [!NOTE]
> 对应视频教程:https://www.bilibili.com/video/BV1u861YHEso
> [!TIP]
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV1u861YHEso)
## 一、ESP32是什么
ESP32是一款由乐鑫Espressif公司研发的高性能、低功耗Wi-Fi和蓝牙双模芯片。它专为物联网IoT设计集成了丰富的功能模块和硬件接口是目前最流行的物联网嵌入式开发平台之一。

View File

@@ -1,9 +1,8 @@
# ESP32开发环境搭建—Windows系统
> [!NOTE]
> 本文介绍在Windows系统下安装ESP-IDF开发环境推荐使用VS Code插件直接安装<br/>
> 对应视频教程-1https://www.bilibili.com/video/BV14o62YQEBC <br/>
> [!TIP] 🚀 **初次接触!在 Windows 系统中搭建 ESP32 开发环境**
> - 💡 **碎碎念**😎:本文将引导你在 Windows 系统下安装 ESP-IDF 开发环境,并推荐使用 VS Code 插件进行简便安装。
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV14o62YQEBC)
## 一、使用VS Code插件直接安装
### 1.1 下载插件

View File

@@ -1,9 +1,8 @@
# 二、ESP32开发环境搭建—Linux系统
> [!NOTE]
> 本节介绍在Linux系统下搭建ESP-IDF开发环境以获得更高的编译速度。<br/>
> 对应视频教程: https://www.bilibili.com/video/BV1vLrKYHExy <br/>
> [!TIP] 🚀 **在 Linux 系统上搭建 ESP32 开发环境 | 高效编译,畅快开发!**
> - 💡 **碎碎念**😎:本节将引导你在 Linux 系统下搭建 ESP-IDF 开发环境,让你的编译速度飞起来!
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV1vLrKYHExy)
## 一、使用VS Code插件直接安装
这种安装方法和[环境搭建-Windows](1.环境搭建-Windows.md)介绍的Windows下使用VS Code插件直接安装没有太大区别参考[环境搭建-Windows](1.环境搭建-Windows.md)和官方文档中针对Linux系统的提示即可这里就不展开描述了。

View File

@@ -1,10 +1,8 @@
# 三、ESP32开发环境搭建—Windows与虚拟机组合使用进阶
> [!NOTE]
> 本节主要介绍教程:[环境搭建-Windows](1.环境搭建-Windows.md)和 [环境搭建-Ubuntu虚拟机](2.环境搭建-Ubuntu虚拟机.md)组合使用的情况,属于一种进阶的用法,故文档会比较简略,推荐参考视频教程<br/>
> 对应视频教程https://www.bilibili.com/video/BV1s2rGYsE4V <br/>
> [!TIP] 🚀 **进阶教程Windows + Ubuntu 虚拟机组合使用**
> - 💡 **碎碎念**😎:本节将介绍如何将 [环境搭建-Windows](1.环境搭建-Windows.md) 和 [环境搭建-Ubuntu虚拟机](2.环境搭建-Ubuntu虚拟机.md) 组合使用,属于进阶用法,因此文档会相对简略,建议配合视频教程一起参考。
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV1s2rGYsE4V)
## 一、SSH介绍
SSH (Secure Shell) 是一种网络协议,用于在不安全的网络上安全地访问远程设备和服务器。它提供了强大的加密功能,可以保护用户和服务器之间的通信免受窃听、篡改和中间人攻击。

View File

@@ -1,6 +1,6 @@
# 三、ESP32开发环境搭建—WSL进阶且推荐
> [!NOTE]
> 本节主要介绍在WSL2环境下安装ESP-IDF开发环境是笔者比较推荐的开发环境。<br/>
> 对应视频教程:
> [!TIP] 🚀 **WSL2 环境搭建 ESP-IDF 开发环境 | 推荐的开发环境!**
> - 💡 **碎碎念**😎:本节将介绍如何在 WSL2 环境下安装 ESP-IDF 开发环境,是笔者比较推荐的开发环境,带来更流畅的开发体验!
> - 📺 **视频教程**[点击观看]

View File

@@ -1,9 +1,11 @@
# ESP.py的基本使用
> [!NOTE]
> 对应视频教程https://www.bilibili.com/video/BV1VLrSY3E15
本节介绍ESP32开发基本流程,介绍代码编译烧录,以及查看串口监视器等常用命令引导大家学会使用idf.py工具。此部分也可以参考官方文档[IDF 前端工具 - idf.py](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.2.3/esp32/api-guides/tools/idf-py.html)
> [!TIP] 🚀 **ESP32开发基本流程 | 从编译烧录,一步步掌握!**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 开发的基本流程,包括代码编译、烧录以及查看串口监视器等常用命令。同时,引导大家学会使用 `idf.py` 工具,让你的开发更高效!
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV1VLrSY3E15)
> - 📚 **官方文档**[API 指南 » 工具 » IDF 前端工具 - idf.py](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.2.3/esp32/api-guides/tools/idf-py.html)
## 一、常用idf.py命令介绍
| 功能 | 命令 | 备注 |

View File

@@ -1,14 +1,15 @@
# ESP32项目工程结构
> [!NOTE]
> 对应视频教程https://www.bilibili.com/video/BV1CfrzYcEkK <br/>
> 对应示例代码:[sample_project](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/01/sample_project)
> [!TIP] 🚀 **ESP32项目工程结构 | 从基础了解项目布局**
> - 💡 **碎碎念**😎:本节介绍 ESP32 项目工程的基本结构,帮助你更好地理解项目布局。
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV1CfrzYcEkK)
> - 💾 **示例代码**[ESP32-Guide/code/02.idf_basic/sample_project](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/sample_project)
> - 📚 **官方文档**[ API 指南 » 构建系统](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.3.2/esp32/api-guides/build-system.html#example-project-structure)
## 介绍
ESP-IDF 的项目工程与 Keil 的传统工程模式有显著不同。Keil 工程通常依赖于特定的项目文件格式(如 .uvprojx 或 .uvoptx这些文件记录了项目的结构、配置和依赖且需要通过 Keil 软件进行管理和编译。而 ESP-IDF 则采用更灵活的构建方式ESP-IDF 的项目只是一个特定的文件夹,其中包含了构建可执行应用程序所需的全部文件和配置,以及其他支持型文件,例如分区表、数据/文件系统分区和引导程序。这些文件描述了项目的源码路径、依赖关系和编译选项,而不是依赖于 IDE 专属的配置格式。这样可以方便地在不同的开发环境中切换。
关于ESP-IDF工程结构可以参考官方文档[示例项目](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.3.2/esp32/api-guides/build-system.html#example-project-structure)
这部分没有什么新的东西只是需要明白ESP-IDF所规定的项目框架下面的内容都提炼自官方文档大家也可以直接前往官方文档查看。
## 项目目录
@@ -68,7 +69,7 @@ project(teat)
组件是 COMPONENT_DIRS 列表中的任何目录。此列表中的目录可以是组件自身(即包含 CMakeLists.txt 文件的目录),也可以是子目录为组件的顶级目录,例如`$ENV{PROJECT_DIR}/components`
`构建` 或 `编译` ESP-IDF 搜索所有待构建的组件的顺序为`COMPONENT_DIRS` 指定的顺序依次进行。
构建 或 编译 ESP-IDF 搜索所有待构建的组件的顺序为`COMPONENT_DIRS` 指定的顺序依次进行。
因此,在默认情况下:
1. 搜索 ESP-IDF 内部组件(`$ENV{IDF_PATH}/components`

View File

@@ -1,10 +1,10 @@
# ESP32项目配置
> [!NOTE]
> 对应视频教程https://www.bilibili.com/video/BV15xwbeiEnD <br>
> 对应示例代码:[blink_menuconfig](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/02)
关于项目配置部分的文档,可以参考[ API 参考 » 项目配置](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.3.2/esp32/api-reference/kconfig.html)
> [!TIP] 🚀 **ESP32 项目配置 | 一步步掌握 Menuconfig 和 Kconfig 文件**
> - 💡 **碎碎念**😎:本节将通过一个具体例子,详细讲解如何使用 `menuconfig` 命令,以及 `Kconfig` 文件在项目配置中的作用,帮助你更好地掌控项目配置。
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV15xwbeiEnD)
> - 💾 **示例代码**[ESP32-Guide/code/02.idf_basic/config](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/config)
> - 📚 **官方文档**[ API 参考 » 项目配置](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.3.2/esp32/api-reference/kconfig.html)
首先我们先借助一个具体的例子来解释Menuconfig命令的使用和Kconfig文件的作用。
## 一、Menuconfig的使用

View File

@@ -1,10 +1,11 @@
# ESP32自定义组件
> [!NOTE]
> 对应视频教程https://www.bilibili.com/video/BV182ftYHEox <br>
> 对应示例代码:[blink_component](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/03/blink_component)
> [!TIP] 🚀 **ESP32 自定义组件 | 玩转组件开发与配置**
> - 💡 **碎碎念**😎:本节将介绍如何创建和配置 ESP32 自定义组件,帮助你模块化复用代码。
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV182ftYHEox)
> - 💾 **示例代码**[ESP32-Guide/code/02.idf_basic/blink_component](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/blink_component)
> - 📚 **官方文档**[API 指南 » 构建系统](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.3.2/esp32/api-guides/build-system.html?highlight=kconfig%20projbuild#component-configuration)
关于ESP-IDF自定义组件部分的文档可以参考[API 指南 » 构建系统](https://docs.espressif.com/projects/esp-idf/zh_CN/v5.3.2/esp32/api-guides/build-system.html?highlight=kconfig%20projbuild#component-configuration)
## 一 、自定义组件介绍:
之前在[ESP-IDF的工程结构](../2.1-ESP32工程结构/ESP-IDF的工程结构.md)里提到esp-idf项目的结构如下

View File

@@ -1,10 +1,11 @@
# ESP32组件管理器
> [!NOTE]
> 对应视频教程https://www.bilibili.com/video/BV1etfHYgE6M <br>
> 对应示例代码:[button_blink](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/04/button_blink)
> [!TIP] 🚀 **ESP32 组件管理器 | 管理和扩展你的项目组件**
> - 💡 **碎碎念**😎:本节将带你了解如何使用 ESP32 组件管理器进行项目组件的管理,帮助你更高效地使用和扩展 ESP32 组件。
> - 📺 **视频教程**[点击观看](https://www.bilibili.com/video/BV1etfHYgE6M)
> - 💾 **示例代码**[ESP32-Guide/code/02.idf_basic/button_blink](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/02.idf_basic/button_blink)
> - 📚 **官方文档**[API 指南 » 工具 » IDF 组件管理器](https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/api-guides/tools/idf-component-manager.html)
关于ESP-IDF组件管理器的文档可以参考[ API 指南 » 工具 » IDF 组件管理器](https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/api-guides/tools/idf-component-manager.html)
## 一、啥是组件管理器
ESP-IDF官方对组件管理器的描述是这样的

View File

@@ -1,9 +1,10 @@
# FreeRTOS介绍
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **FreeRTOS | 实现实时操作系统的强大功能**
> - 💡 **碎碎念**😎:本节将介绍 FreeRTOS帮助你理解如何在 ESP32 上实现实时操作系统,提升任务调度和系统效率。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
FreeRTOS 是一个开源的 RTOS实时操作系统内核它以组件的形式集成到 ESP-IDF 中。因此,所有的 ESP-IDF 应用程序及多种 ESP-IDF 组件都基于 FreeRTOS 编写。

View File

@@ -1,9 +1,11 @@
# FreeRTOS多任务管理
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **FreeRTOS 多任务管理 | 实现任务并行处理**
> - 💡 **碎碎念**😎:本节将介绍如何在 FreeRTOS 中实现多任务管理,帮助你更高效地进行任务调度和并行处理。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**[ESP32-Guide/code/03.freertos_basic/task](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/03.freertos_basic/task)
注意:与原生 FreeRTOS 不同,在 ESP-IDF 中使用 FreeRTOS 的用户 \永远不应调用 `vTaskStartScheduler()``vTaskEndScheduler()`。相反ESP-IDF 会自动启动 FreeRTOS。用户必须定义一个 `void app_main(void)` 函数作为用户应用程序的入口点,并在 ESP-IDF 启动时被自动调用。

View File

@@ -1,8 +1,9 @@
# FreeRTOS任务看门狗
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **FreeRTOS 任务看门狗 | 保障任务执行稳定**
> - 💡 **碎碎念**😎:本节将介绍如何在 FreeRTOS 中使用任务看门狗,帮助确保任务的正常运行和系统的稳定性。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**[ESP32-Guide/code/03.freertos_basic/watchdog](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/03.freertos_basic/watchdog)
## 任务看门狗定时器 (TWDT)

View File

@@ -0,0 +1,9 @@
# FreeRTOS软器教程
> [!TIP] 🚀 **FreeRTOS 软件定时器 | 灵活管理定时任务**
> - 💡 **碎碎念**😎:本节将介绍如何在 FreeRTOS 中使用软件定时器,帮助你灵活地管理定时任务,提升系统性能。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**[ESP32-Guide/code/03.freertos_basic/timer](https://github.com/DuRuofu/ESP32-Guide/tree/main/code/03.freertos_basic/timer)
## 一、介绍

View File

@@ -1,5 +0,0 @@
# FreeRTOS软件定时器教程
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无

View File

@@ -1,9 +1,10 @@
# ESP32外设-GPIO
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **ESP32 外设-GPIO | 轻松控制硬件引脚**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 GPIO 外设,帮助你掌握如何使用 GPIO 引脚进行硬件控制和信号传输。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、GPIO介绍

View File

@@ -2,9 +2,10 @@
# ESP32外设-UART
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **ESP32 外设-UART | 串口通信轻松搞定**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 UART 外设,帮助你实现设备间的串口通信,进行数据传输。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、UART介绍

View File

@@ -2,9 +2,10 @@
# ESP32外设-硬件定时器入门
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **ESP32 外设-硬件定时器入门 | 精准定时,控制更灵活**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的硬件定时器,帮助你实现精准的定时控制,提升系统响应能力。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
> 若不必使用硬件定时器,则建议使用软件定时器:[ESP 定时器](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/system/esp_timer.html)

View File

@@ -2,10 +2,10 @@
# ESP32外设-ADC入门
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **ESP32 外设-ADC入门 | 轻松实现模拟信号采集**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 ADC 外设,帮助你实现模拟信号采集,进行高精度数据处理。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
>本文档主要转载自[Augtons正(单片机)](https://blog.csdn.net/m0_50064262 "Augtons正(单片机)")的ESP32系列教程关于ADC部分的梳理甚至比官方教程都清晰

View File

@@ -1,8 +1,9 @@
# ESP32外设-DAC
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **ESP32 外设-DAC | 精准数字模拟转换**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 DAC 外设,帮助你实现数字信号到模拟信号的转换,支持多种应用场景。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、介绍

View File

@@ -1,9 +1,10 @@
# ESP32外设-LEDPWM入门
> [!NOTE]
> 对应视频教程:暂无 <br>
> 对应示例代码:暂无
> [!TIP] 🚀 **ESP32 外设-LEDPWM入门 | 精准控制 LED 灯光效果**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 LEDPWM 外设,帮助你实现对 LED 灯光的精准控制,打造炫酷灯光效果。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、介绍:
LED 控制器 (LEDC) 主要用于控制 LED也可产生 PWM 信号用于其他设备的控制。该控制器有 8 路通道,可以产生独立的波形,驱动 RGB LED 等设备。

View File

@@ -1,6 +1,12 @@
# ESP32外设-I2C入门
> [!TIP] 🚀 **ESP32 外设-I2C入门 | 快速实现设备通信**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 I2C 外设,帮助你实现多个设备之间的高效通信。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、介绍
I2C 是一种串行同步半双工通信协议总线上可以同时挂载多个主机和从机。I2C 总线由串行数据线 (SDA) 和串行时钟线 (SCL) 线构成。这些线都需要上拉电阻。

View File

@@ -0,0 +1,6 @@
# ESP32外设-SPI通信
> [!TIP] 🚀 **ESP32 外设-SPI通信 | 快速数据传输利器**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 SPI 外设,帮助你实现高速数据传输,连接多个外设。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*

View File

@@ -1,6 +1,11 @@
# ESP32外设-I2S入门
> [!TIP] 🚀 **ESP32 外设-I2S入门 | 音频数据传输利器**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 I2S 外设,帮助你实现高质量音频数据的传输与处理。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、概念

View File

@@ -1,8 +1,9 @@
# ESP32存储-分区表入门
> [!TIP] 🚀 **ESP32 存储-分区表入门 | 高效管理设备存储空间**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的分区表,帮助你合理分配存储空间,提高系统的存储效率。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
> **flash**: 它在嵌入式系统中的功能可以和硬盘在PC中的功能相比。它们都是用来存储程序和数据的好比是ROM。而且可以在掉电的情况下继续保存数据使其不会丢失。Flash memory闪速存储器作为一种安全、快速的存储体具有体积小容量大成本低掉电数据不丢失等一系列优点已成为嵌入式系统中数据和程序最主要的载体。根据结构的不同可以将其分为**NOR Flash**和**NAND Flash**两种。NOR Flash的特点是应用程序可以直接在闪存中运行不需要再把代码读到系统RAM中运行。NAND Flash不行。而我们单片机基本都是NOR FLASN。

View File

@@ -4,6 +4,11 @@
# ESP32存储-非易失性存储 (NVS)
> [!TIP] 🚀 **ESP32 存储-非易失性存储 (NVS) | 稳定持久存储解决方案**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的非易失性存储 (NVS),让你轻松保存配置信息及其他数据,即使设备断电也能保持数据。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、介绍
#### 1.1 基本概念

View File

@@ -3,6 +3,12 @@
# ESP32存储-VFS虚拟文件系统
> [!TIP] 🚀 **ESP32 存储-VFS虚拟文件系统 | 灵活管理文件存储**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的虚拟文件系统VFS帮助你在多个存储设备之间创建统一的文件访问接口。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、介绍
#### 1.1 什么是VFS

View File

@@ -3,6 +3,12 @@
# ESP32存储-SPIFFS文件系统
> [!TIP] 🚀 **ESP32 存储-SPIFFS文件系统 | 让存储更高效!**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 SPIFFS 文件系统,帮助你在闪存中管理文件,实现高效的文件存储与读取。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、介绍
关于[esp32](https://so.csdn.net/so/search?q=esp32&spm=1001.2101.3001.7020)的spiffs文件系统的详细内容请看esp32官网的介绍[espidf编程指南-spiffs](https://docs.espressif.com/projects/esp-idf/zh_CN/release-v4.1/api-reference/storage/spiffs.html)

View File

@@ -1,6 +1,12 @@
# ESP32存储-SD、SDIO、MMC 驱动
> [!TIP] 🚀 **ESP32 存储-SD、SDIO、MMC 驱动 | 高效管理存储卡数据**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 支持的 SD、SDIO 和 MMC 驱动,帮助你轻松实现与存储卡的数据交互。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 一、基本概念
### 1.1 SD卡科普

View File

@@ -1,3 +1,9 @@
# 电机控制脉宽调制器 (MCPWM)
> [!TIP] 🚀 **ESP32 电机控制脉宽调制器 (MCPWM) | 精确控制电机速度与方向**
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的电机控制脉宽调制器MCPWM帮助你实现对电机速度和方向的精确控制。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
MCPWM 外设是一个多功能 PWM 生成器,集成多个子模块,在电力电子应用(如电机控制、数字电源等)中至关重要。

View File

@@ -1,4 +1,9 @@
# FreeRTOS—队列
# FreeRTOS进阶—队列
> [!TIP] 🚀 **FreeRTOS 进阶—队列 | 高效的任务间数据传输**
> - 💡 **碎碎念**😎:本节将深入介绍 FreeRTOS 中的队列机制,帮助你在任务间高效传输数据,保证系统的响应性和稳定性。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 1. 队列创建与传参

View File

@@ -1,4 +1,10 @@
# 信号量
# FreeRTOS进阶—信号量
> [!TIP] 🚀 **FreeRTOS 信号量 | 控制任务的执行顺序与共享资源访问**
> - 💡 **碎碎念**😎:本节将讲解 FreeRTOS 中的信号量机制,帮助你在多任务环境中有效管理资源的访问顺序,避免竞争条件。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
FreeRTOS 提供了信号量和互斥锁,用于任务间的同步和资源共享管理。信号量更偏向于任务同步,而互斥锁用于保护共享资源。
## 1. 二进制信号量

View File

@@ -1,4 +1,9 @@
# 互斥锁
# FreeRTOS进阶—互斥锁
> [!TIP] 🚀 **FreeRTOS 互斥锁 | 保证任务间共享资源的独占访问**
> - 💡 **碎碎念**😎:本节将讲解 FreeRTOS 中的互斥锁机制,帮助你确保在多任务环境中对共享资源的独占访问,避免数据冲突。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
## 1. 互斥量

View File

@@ -1,5 +1,10 @@
# FreeRTOS进阶—事件组
> [!TIP] 🚀 **FreeRTOS 事件组 | 高效的任务同步与状态管理**
> - 💡 **碎碎念**😎:本节将介绍 FreeRTOS 中的事件组机制,帮助你在多任务环境中实现高效的任务同步和状态管理。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
# 事件组
事件组是一种实现任务间通信和同步的机制,主要用于协调多个任务或中断之间的执行。

View File

@@ -1,5 +1,11 @@
# 任务通知
> [!TIP] 🚀 **FreeRTOS 任务通知 | 高效的任务间通讯机制**
> - 💡 **碎碎念**😎:本节将讲解 FreeRTOS 中的任务通知机制,帮助你实现任务间高效的通讯和信号传递,减少资源消耗。
> - 📺 **视频教程**:🚧 *开发中*
> - 💾 **示例代码**:🚧 *开发中*
任务通知Task Notifications是一种轻量级的任务间通信和同步机制它比队列或事件组更加高效因为它不需要动态分配内存。每个任务都内置了一个任务通知值其他任务或中断服务例程ISR可以用它来通知该任务事件的发生。
**特点**

View File

@@ -1,5 +1,12 @@
# ESP32网络入门-TCP协议
# ESP32网络入门 - TCP协议
> [!TIP] 🚀 **TCP协议基础 | 可靠的网络通信**
> - 💡 **碎碎念**😎:本节将介绍如何在 ESP32 上使用 TCP 协议进行网络通信,帮助你理解 TCP 的工作原理,并在 ESP32 上实现客户端和服务器功能。
> - 📺 **视频教程**:暂无
> - 💾 **示例代码**:暂无
## 一、介绍
在开始使用TCP协议之前我们需要掌握一些基本的概念和前置知识

View File

@@ -1,6 +1,9 @@
# ESP32网络入门 - UDP协议
# ESP32网络入门-UDP协议
> [!TIP] 🚀 **UDP协议基础 | 快速但不可靠的通信**
> - 💡 **碎碎念**😎:本节将介绍如何在 ESP32 上使用 UDP 协议进行网络通信,了解 UDP 的特性和使用场景,并在 ESP32 上实现客户端和服务器功能。
> - 📺 **视频教程**:暂无
> - 💾 **示例代码**:暂无
## 一、概述

Some files were not shown because too many files have changed in this diff Show More