docs: 更新文章
@@ -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),这是由乐鑫官方推出的常见问题汇总。它帮助用户快速检索常见问题,并通过简洁的解答解决疑惑。常见问题涉及的领域包括:开发环境、应用方案、软件平台、硬件相关问题以及测试相关内容。
|
||||
|
||||
## 索引
|
||||
|
||||
|
||||
@@ -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)设计,集成了丰富的功能模块和硬件接口,是目前最流行的物联网嵌入式开发平台之一。
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESP32开发环境搭建—Windows系统
|
||||
|
||||
> [!NOTE]
|
||||
> 本文介绍在Windows系统下安装ESP-IDF开发环境,并且推荐使用VS Code插件直接安装<br/>
|
||||
> 对应视频教程-1:https://www.bilibili.com/video/BV14o62YQEBC <br/>
|
||||
|
||||
> [!TIP] 🚀 **初次接触!在 Windows 系统中搭建 ESP32 开发环境**
|
||||
> - 💡 **碎碎念**😎:本文将引导你在 Windows 系统下安装 ESP-IDF 开发环境,并推荐使用 VS Code 插件进行简便安装。
|
||||
> - 📺 **视频教程**:[点击观看](https://www.bilibili.com/video/BV14o62YQEBC)
|
||||
## 一、使用VS Code插件直接安装
|
||||
|
||||
### 1.1 下载插件
|
||||
|
||||
@@ -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系统的提示即可,这里就不展开描述了。
|
||||
|
||||
@@ -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) 是一种网络协议,用于在不安全的网络上安全地访问远程设备和服务器。它提供了强大的加密功能,可以保护用户和服务器之间的通信免受窃听、篡改和中间人攻击。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 三、ESP32开发环境搭建—WSL(进阶且推荐)
|
||||
|
||||
|
||||
> [!NOTE]
|
||||
> 本节主要介绍在WSL2环境下安装ESP-IDF开发环境,也是笔者比较推荐的开发环境。<br/>
|
||||
> 对应视频教程:
|
||||
> [!TIP] 🚀 **WSL2 环境搭建 ESP-IDF 开发环境 | 推荐的开发环境!**
|
||||
> - 💡 **碎碎念**😎:本节将介绍如何在 WSL2 环境下安装 ESP-IDF 开发环境,这是笔者比较推荐的开发环境,带来更流畅的开发体验!
|
||||
> - 📺 **视频教程**:[点击观看]
|
||||
@@ -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命令介绍
|
||||
|
||||
| 功能 | 命令 | 备注 |
|
||||
|
||||
@@ -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`)
|
||||
|
||||
@@ -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的使用
|
||||
|
||||
@@ -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项目的结构如下:
|
||||
|
||||
@@ -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官方对组件管理器的描述是这样的:
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
|
||||
# FreeRTOS介绍
|
||||
|
||||
> [!NOTE]
|
||||
> 对应视频教程:暂无 <br>
|
||||
> 对应示例代码:暂无
|
||||
> [!TIP] 🚀 **FreeRTOS | 实现实时操作系统的强大功能**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 FreeRTOS,帮助你理解如何在 ESP32 上实现实时操作系统,提升任务调度和系统效率。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
FreeRTOS 是一个开源的 RTOS(实时操作系统)内核,它以组件的形式集成到 ESP-IDF 中。因此,所有的 ESP-IDF 应用程序及多种 ESP-IDF 组件都基于 FreeRTOS 编写。
|
||||
|
||||
|
||||
@@ -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 启动时被自动调用。
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
9
docs/03.FreeRTOS基础/3.4-FreeRTOS软件定时器/FreeRTOS软件定时器.md
Normal 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)
|
||||
|
||||
## 一、介绍
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# FreeRTOS软件定时器教程
|
||||
|
||||
> [!NOTE]
|
||||
> 对应视频教程:暂无 <br>
|
||||
> 对应示例代码:暂无
|
||||
@@ -1,9 +1,10 @@
|
||||
|
||||
# ESP32外设-GPIO
|
||||
|
||||
> [!NOTE]
|
||||
> 对应视频教程:暂无 <br>
|
||||
> 对应示例代码:暂无
|
||||
> [!TIP] 🚀 **ESP32 外设-GPIO | 轻松控制硬件引脚**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 GPIO 外设,帮助你掌握如何使用 GPIO 引脚进行硬件控制和信号传输。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
## 一、GPIO介绍
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# ESP32外设-UART
|
||||
|
||||
> [!NOTE]
|
||||
> 对应视频教程:暂无 <br>
|
||||
> 对应示例代码:暂无
|
||||
> [!TIP] 🚀 **ESP32 外设-UART | 串口通信轻松搞定**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 UART 外设,帮助你实现设备间的串口通信,进行数据传输。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
## 一、UART介绍
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
# ESP32外设-ADC入门
|
||||
|
||||
> [!NOTE]
|
||||
> 对应视频教程:暂无 <br>
|
||||
> 对应示例代码:暂无
|
||||
|
||||
> [!TIP] 🚀 **ESP32 外设-ADC入门 | 轻松实现模拟信号采集**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 ADC 外设,帮助你实现模拟信号采集,进行高精度数据处理。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
>本文档主要转载自[Augtons正(单片机)](https://blog.csdn.net/m0_50064262 "Augtons正(单片机)")的ESP32系列教程(关于ADC部分的梳理甚至比官方教程都清晰)。
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# ESP32外设-DAC
|
||||
|
||||
> [!NOTE]
|
||||
> 对应视频教程:暂无 <br>
|
||||
> 对应示例代码:暂无
|
||||
> [!TIP] 🚀 **ESP32 外设-DAC | 精准数字模拟转换**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 DAC 外设,帮助你实现数字信号到模拟信号的转换,支持多种应用场景。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
## 一、介绍
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
|
||||
# ESP32外设-LEDPWM入门
|
||||
|
||||
> [!NOTE]
|
||||
> 对应视频教程:暂无 <br>
|
||||
> 对应示例代码:暂无
|
||||
> [!TIP] 🚀 **ESP32 外设-LEDPWM入门 | 精准控制 LED 灯光效果**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 LEDPWM 外设,帮助你实现对 LED 灯光的精准控制,打造炫酷灯光效果。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
## 一、介绍:
|
||||
|
||||
LED 控制器 (LEDC) 主要用于控制 LED,也可产生 PWM 信号用于其他设备的控制。该控制器有 8 路通道,可以产生独立的波形,驱动 RGB LED 等设备。
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
|
||||
# ESP32外设-I2C入门
|
||||
|
||||
> [!TIP] 🚀 **ESP32 外设-I2C入门 | 快速实现设备通信**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 I2C 外设,帮助你实现多个设备之间的高效通信。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
|
||||
## 一、介绍
|
||||
|
||||
I2C 是一种串行同步半双工通信协议,总线上可以同时挂载多个主机和从机。I2C 总线由串行数据线 (SDA) 和串行时钟线 (SCL) 线构成。这些线都需要上拉电阻。
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# ESP32外设-SPI通信
|
||||
|
||||
> [!TIP] 🚀 **ESP32 外设-SPI通信 | 快速数据传输利器**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 SPI 外设,帮助你实现高速数据传输,连接多个外设。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
|
||||
# ESP32外设-I2S入门
|
||||
|
||||
> [!TIP] 🚀 **ESP32 外设-I2S入门 | 音频数据传输利器**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的 I2S 外设,帮助你实现高质量音频数据的传输与处理。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
## 一、概念
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
|
||||
|
||||
# ESP32存储-分区表入门
|
||||
|
||||
|
||||
> [!TIP] 🚀 **ESP32 存储-分区表入门 | 高效管理设备存储空间**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的分区表,帮助你合理分配存储空间,提高系统的存储效率。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
|
||||
> **flash**: 它在嵌入式系统中的功能可以和硬盘在PC中的功能相比。它们都是用来存储程序和数据的,好比是ROM。而且可以在掉电的情况下继续保存数据使其不会丢失。Flash memory(闪速存储器)作为一种安全、快速的存储体,具有体积小,容量大,成本低,掉电数据不丢失等一系列优点,已成为嵌入式系统中数据和程序最主要的载体。根据结构的不同可以将其分为**NOR Flash**和**NAND Flash**两种。NOR Flash的特点是应用程序可以直接在闪存中运行,不需要再把代码读到系统RAM中运行。NAND Flash不行。而我们单片机基本都是NOR FLASN。
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
|
||||
# ESP32存储-非易失性存储 (NVS)
|
||||
|
||||
> [!TIP] 🚀 **ESP32 存储-非易失性存储 (NVS) | 稳定持久存储解决方案**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的非易失性存储 (NVS),让你轻松保存配置信息及其他数据,即使设备断电也能保持数据。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
## 一、介绍
|
||||
|
||||
#### 1.1 基本概念
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
|
||||
# ESP32存储-VFS虚拟文件系统
|
||||
|
||||
> [!TIP] 🚀 **ESP32 存储-VFS虚拟文件系统 | 灵活管理文件存储**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的虚拟文件系统(VFS),帮助你在多个存储设备之间创建统一的文件访问接口。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
|
||||
## 一、介绍
|
||||
|
||||
#### 1.1 什么是VFS
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
|
||||
# ESP32存储-SD、SDIO、MMC 驱动
|
||||
|
||||
> [!TIP] 🚀 **ESP32 存储-SD、SDIO、MMC 驱动 | 高效管理存储卡数据**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 支持的 SD、SDIO 和 MMC 驱动,帮助你轻松实现与存储卡的数据交互。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
|
||||
## 一、基本概念
|
||||
|
||||
### 1.1 SD卡科普
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
# 电机控制脉宽调制器 (MCPWM)
|
||||
|
||||
> [!TIP] 🚀 **ESP32 电机控制脉宽调制器 (MCPWM) | 精确控制电机速度与方向**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 ESP32 的电机控制脉宽调制器(MCPWM),帮助你实现对电机速度和方向的精确控制。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
|
||||
MCPWM 外设是一个多功能 PWM 生成器,集成多个子模块,在电力电子应用(如电机控制、数字电源等)中至关重要。
|
||||
@@ -1,4 +1,9 @@
|
||||
# FreeRTOS—队列
|
||||
# FreeRTOS进阶—队列
|
||||
|
||||
> [!TIP] 🚀 **FreeRTOS 进阶—队列 | 高效的任务间数据传输**
|
||||
> - 💡 **碎碎念**😎:本节将深入介绍 FreeRTOS 中的队列机制,帮助你在任务间高效传输数据,保证系统的响应性和稳定性。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
## 1. 队列创建与传参
|
||||
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
# 信号量
|
||||
# FreeRTOS进阶—信号量
|
||||
|
||||
> [!TIP] 🚀 **FreeRTOS 信号量 | 控制任务的执行顺序与共享资源访问**
|
||||
> - 💡 **碎碎念**😎:本节将讲解 FreeRTOS 中的信号量机制,帮助你在多任务环境中有效管理资源的访问顺序,避免竞争条件。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
|
||||
FreeRTOS 提供了信号量和互斥锁,用于任务间的同步和资源共享管理。信号量更偏向于任务同步,而互斥锁用于保护共享资源。
|
||||
## 1. 二进制信号量
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
# 互斥锁
|
||||
# FreeRTOS进阶—互斥锁
|
||||
|
||||
> [!TIP] 🚀 **FreeRTOS 互斥锁 | 保证任务间共享资源的独占访问**
|
||||
> - 💡 **碎碎念**😎:本节将讲解 FreeRTOS 中的互斥锁机制,帮助你确保在多任务环境中对共享资源的独占访问,避免数据冲突。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
## 1. 互斥量
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# FreeRTOS进阶—事件组
|
||||
|
||||
> [!TIP] 🚀 **FreeRTOS 事件组 | 高效的任务同步与状态管理**
|
||||
> - 💡 **碎碎念**😎:本节将介绍 FreeRTOS 中的事件组机制,帮助你在多任务环境中实现高效的任务同步和状态管理。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
# 事件组
|
||||
|
||||
事件组是一种实现任务间通信和同步的机制,主要用于协调多个任务或中断之间的执行。
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# 任务通知
|
||||
|
||||
> [!TIP] 🚀 **FreeRTOS 任务通知 | 高效的任务间通讯机制**
|
||||
> - 💡 **碎碎念**😎:本节将讲解 FreeRTOS 中的任务通知机制,帮助你实现任务间高效的通讯和信号传递,减少资源消耗。
|
||||
> - 📺 **视频教程**:🚧 *开发中*
|
||||
> - 💾 **示例代码**:🚧 *开发中*
|
||||
|
||||
|
||||
任务通知(Task Notifications)是一种轻量级的任务间通信和同步机制,它比队列或事件组更加高效,因为它不需要动态分配内存。每个任务都内置了一个任务通知值,其他任务或中断服务例程(ISR)可以用它来通知该任务事件的发生。
|
||||
|
||||
**特点**:
|
||||
|
||||
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 205 KiB After Width: | Height: | Size: 205 KiB |
|
Before Width: | Height: | Size: 348 KiB After Width: | Height: | Size: 348 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 228 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
@@ -1,5 +1,12 @@
|
||||
|
||||
# ESP32网络入门-TCP协议
|
||||
# ESP32网络入门 - TCP协议
|
||||
|
||||
> [!TIP] 🚀 **TCP协议基础 | 可靠的网络通信**
|
||||
> - 💡 **碎碎念**😎:本节将介绍如何在 ESP32 上使用 TCP 协议进行网络通信,帮助你理解 TCP 的工作原理,并在 ESP32 上实现客户端和服务器功能。
|
||||
> - 📺 **视频教程**:暂无
|
||||
> - 💾 **示例代码**:暂无
|
||||
|
||||
|
||||
## 一、介绍
|
||||
|
||||
在开始使用TCP协议之前,我们需要掌握一些基本的概念和前置知识:
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
# ESP32网络入门 - UDP协议
|
||||
|
||||
|
||||
# ESP32网络入门-UDP协议
|
||||
> [!TIP] 🚀 **UDP协议基础 | 快速但不可靠的通信**
|
||||
> - 💡 **碎碎念**😎:本节将介绍如何在 ESP32 上使用 UDP 协议进行网络通信,了解 UDP 的特性和使用场景,并在 ESP32 上实现客户端和服务器功能。
|
||||
> - 📺 **视频教程**:暂无
|
||||
> - 💾 **示例代码**:暂无
|
||||
|
||||
## 一、概述
|
||||
|
||||
|
||||