ESP-IDF 例程——存储
14. storage 目录
14.1 nvs/nvs_rw_value 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | nvs/nvs_rw_value |
| 所在文件夹路径 | examples\storage\nvs\nvs_rw_value |
| 核心功能说明 | 演示如何使用ESP-IDF的NVS(Non-Volatile Storage)组件读写键值对数据。实现了整数和字符串类型的读写操作,以及键的查找和删除功能。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- nvs_flash_init():初始化NVS- nvs_open():打开NVS命名空间- nvs_set_i32():写入整数- nvs_get_i32():读取整数- nvs_set_str():写入字符串- nvs_get_str():读取字符串- nvs_erase_key():删除键- nvs_commit():提交更改- nvs_close():关闭NVS句柄 |
| 输入输出参数说明 | 输入: - 要写入的整数和字符串值(硬编码在程序中) 输出: - 读取到的整数和字符串值 - 操作结果状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习NVS的基本使用方法 - 开发需要存储配置信息的应用 - 保存设备状态和计数器 - 存储简单的键值对数据 - 作为NVS应用的参考模板 |
14.2 fatfs/getting_started 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | fatfs/getting_started |
| 所在文件夹路径 | examples\storage\fatfs\getting_started |
| 核心功能说明 | 演示如何使用FATFS组件在SPI Flash上实现FAT文件系统。实现了文件系统的挂载、文件的打开、写入、读取和关闭,以及文件系统的卸载。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_vfs_fat_spiflash_mount():挂载FAT文件系统- fopen():打开文件- fwrite():写入文件- fread():读取文件- fclose():关闭文件- esp_vfs_fat_spiflash_unmount():卸载FAT文件系统 |
| 输入输出参数说明 | 输入: - 要写入的字符串”Hello World!”(硬编码在程序中) 输出: - 写入成功的状态 - 读取到的字符串 - 文件系统操作的日志信息 |
| 适用场景及典型应用案例 | 适用于: - 学习FATFS的基本使用方法 - 开发需要文件系统支持的应用 - 存储大量数据和文件 - 实现可与电脑兼容的文件系统 - 作为FATFS应用的参考模板 |
14.3 littlefs 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | littlefs |
| 所在文件夹路径 | examples\storage\littlefs |
| 核心功能说明 | 演示如何使用LittleFS文件系统在SPI Flash上存储数据。实现了LittleFS的初始化、挂载、文件读写、目录操作和卸载功能。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_vfs_littlefs_register():注册LittleFS- esp_vfs_littlefs_unregister():注销LittleFS- littlefs_info():获取LittleFS信息- 标准C文件操作函数(fopen, fwrite, fread, fclose等) |
| 输入输出参数说明 | 输入: - 要写入的文件内容 输出: - 文件读写结果 - LittleFS使用情况 - 目录列表 |
| 适用场景及典型应用案例 | 适用于: - 学习LittleFS文件系统的使用 - 开发需要高效文件系统的应用 - 存储配置文件和资源文件 - 物联网设备的本地数据存储 - 作为LittleFS应用的参考模板 |
14.4 spiffs 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | spiffs |
| 所在文件夹路径 | examples\storage\spiffs |
| 核心功能说明 | 演示如何使用SPIFFS(SPI Flash File System)在SPI Flash上实现文件系统。实现了SPIFFS的挂载、文件读写、目录操作和卸载功能。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_vfs_spiffs_register():注册SPIFFS- esp_vfs_spiffs_unregister():注销SPIFFS- esp_spiffs_info():获取SPIFFS信息- 标准C文件操作函数(fopen, fwrite, fread, fclose等) |
| 输入输出参数说明 | 输入: - 要写入的文件内容 输出: - 文件读写结果 - SPIFFS使用情况 - 目录列表 |
| 适用场景及典型应用案例 | 适用于: - 学习SPIFFS文件系统的使用 - 开发需要轻量级文件系统的应用 - 存储Web服务器的静态文件 - 物联网设备的本地数据存储 - 作为SPIFFS应用的参考模板 |
14.5 wear_levelling 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | wear_levelling |
| 所在文件夹路径 | examples\storage\wear_levelling |
| 核心功能说明 | 演示如何使用ESP-IDF的wear_levelling组件实现Flash的磨损均衡。实现了基于磨损均衡的NVS-like键值存储,包括数据的写入、读取和删除。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- wl_mount():挂载磨损均衡分区- wl_unmount():卸载磨损均衡分区- nvs_open_from_partition():从磨损均衡分区打开NVS- 标准NVS操作函数(nvs_set_i32, nvs_get_i32等) |
| 输入输出参数说明 | 输入: - 要写入的键值对数据 输出: - 读取到的数据 - 磨损均衡状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习Flash磨损均衡的原理和使用 - 开发需要频繁写入Flash的应用 - 延长Flash寿命的设备 - 物联网设备的长期数据存储 - 作为磨损均衡应用的参考模板 |
ESP-IDF 例程——存储
https://blog.zhaosn.top/ESP32-examples/14.storage(WIP)/