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)/
作者
Zhao SN
发布于
2026年1月21日
更新于
2026年1月21日
许可协议