ESP32-C3开发之旅 基础篇④ ESP32-C3与EEPROM

2024-06-21 12:32

本文主要是介绍ESP32-C3开发之旅 基础篇④ ESP32-C3与EEPROM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、简介

EEPROM(Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器——一种掉电后数据不丢失的存储芯片。

二、原理

EEPROM库在Arduino中经常用于存储设定数据。当然基于Arduino的ESP32-C3也不例外。
    写入操作是通过commit将flash eeprom地址的4K 存储内容删除后才将Buffer写入flash中(也就是说就算你buffer只有4个字节,但是最终还是会刷新整个sector)
     读取操作是通过 SDK提供的API将flash中的内容读取到Buffer中是没有限制一次就要将4K全读完,Buffer的大小由EEPROM.begin(size)决定,但是由于Buffer大小会占用内存RAM,所以务必按照实际需要来定义大小。
     在这里插入图片描述

三、 库介绍

在这里插入图片描述

文件路径:C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\libraries\EEPROM\src\EEPROM.cpp库文件路径
在这里插入图片描述

四、demo 数据

这个是demo 具体操作还是需要自己看下官方文档

#include "EEPROM.h"//导入文件库
EEPROMClass EEPROMClass("eeprom0");//new 一个EEPRROM对象
void setup()
{Serial.begin(115200); //打开串口delay(1000);				Serial.println("Testing EEPROMClass\n"); if (!EEPROMClass.begin(14890)) //申请一个14890 size 对象,貌似只能申请这么多{Serial.println("Failed to initialise EEPROMClass");Serial.println("Restarting...");delay(1000);ESP.restart();}String sentence = "192.168.0.185"; EEPROMClass.writeString(0, "192.168.0.185"); //写入字符串EEPROMClass.writeString(sentence.length()+1, "1ESP32-C3 Hello World Testing");//写入字符串 2Serial.println(EEPROMClass.readString(0));//根据地址读取写入的数据Serial.println(EEPROMClass.readString(sentence.length()+1));// 读取字符串以 0作为结束字段,如果两个字符串中间没有0间隔那么将持续读取到0的数据for (int i = 0; i < 100; i++) {EEPROM.write(i, 0);  //清除数据}Serial.println("Done!");
}void loop()
{delay(0xFFFFFFFF);
}

这篇关于ESP32-C3开发之旅 基础篇④ ESP32-C3与EEPROM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081233

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问