色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ESP32學習筆記:EEPROM

CHANBAEK ? 來源:跳動的字節 ? 作者:曉宇 ? 2023-07-14 15:03 ? 次閱讀

今天我們來玩兒EEPROM

EEPROM概述

ESP32內部沒有專門的EEPROM,但是我們可以通過FLASH模擬EEPROM,FLASH與EEPROM也是非常相似的,都是非易失性存儲器,使用EEPROM,我們就可以在不使用文件系統的情況下,來保存一些數據,可以實現一些更加復雜的功能。

例如,我們可以做到以下功能:

  • 保存變量的最終狀態
  • 保存我們的設置
  • 保存設備被激活的次數
  • 永久保存其它任何類型的數據

ESP32在Arduino是使用FLASH開辟的一塊存儲區域,默認的對象存儲大小為4096個字節。

硬件

本實驗我們直接用核心板就可以,不添加其它外設了。

軟件

EEPROM初始化

代碼調用#include 后,已經默認定義了一個EEPROM對象,我們使用began方法初始化一下,參數為要操作的字節大小,最大為4096字節,所以這里的參數范圍為0-4095。EEPROM的操作以字為單位,size最好設置為4的倍數。

EEPROM.begin(size);

將數據寫入EEPROM,使用EEPROM.write();第一個參數為地址,第二個參數為保存的值。

EEPROM.write(address, value);

從EEPROM上讀取一個字節,使用EEPROM.read();參數為讀取的地址。

EEPROM.read(address);

更新生效

通過EEPROM.write()寫入數據后,之后需要調用EEPROM.commit()使更改生效,寫入完成。

EEPROM.commit();

EEPROM還有其它函數,都在庫文件中,大家可以在下面兩個文件中找到相關源碼。

EEPROM.h
EEPROM.c

完整程序

這里我們用一個例子來演示一下,我們在整片EEPROM上寫入數據,從0-255,反復循環寫入,然后再讀取出來。

寫程序

/*
 *      Created on: 20220128          
 *      Author:     公眾號:跳動的字節
 *      Function    09 EEPROM寫與讀
 *      Version:    V1.0
 *
 *                        ,%%%%%%%%,
 *                      ,%%/%%%%/%%
 *                     ,%%%c''''J/%%%
 *           %.        %%%%/ o  o %%%
 *           `%%.      %%%%       |%%%
 *            `%%      `%%%%(__Y__)%%'
 *            //        ;%%%%`-/%%%'
 *            ((      /   `%%%%%%%'
 *                  .'           |
 *                 /          | |
 *               /          ) | |
 *                          /_ | |__
 *                (____________))))))) 攻城獅
 *
 */

#include < EEPROM.h >

void setup() 
{
  Serial.begin(115200);
  Serial.println("");
   
  EEPROM.begin(4096); //申請4096個字節的EEPROM存儲空間
  //寫數據
  Serial.println("write begin");
  for(int addr = 0; addr< 4096; addr++)
  {
    int data = addr%256; //EEPROM寫入的數據時以字節為單位的
    EEPROM.write(addr, data); //寫入數據
  }
  EEPROM.commit(); //保存更改的數據 
  Serial.println("write done");

  //讀數據
  Serial.println("read begin");
  for(int addr = 0; addr< 4096; addr++)
  {
    int data = EEPROM.read(addr); //讀數據
    Serial.print(data);
    Serial.print(" ");
    delay(2);
    if((addr+1)%256 == 0) //每行顯示256個數據
    {
      Serial.println("");
    }
  }

  Serial.println("read done");
}

void loop() 
{
}

實驗效果:

圖片

EEPROM的使用很簡單,但這里有一點需要注意,在初始化EEPROM.begin(size)的時候,參數size下一次必須大于等于上一次,否則會有用一些出錯,正常情況下,我們就一直用最大值4096即可。

后面,我們會介紹更加高級的方法實現數據的保存,使用Preferences庫來保存鍵值對的方式,還有文件系統的方式,大家到時候再深入了解。

感謝大家,關于ESP32的學習,希望大家Enjoy!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FlaSh
    +關注

    關注

    10

    文章

    1633

    瀏覽量

    147943
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163765
  • EEPROM
    +關注

    關注

    9

    文章

    1019

    瀏覽量

    81561
  • 文件系統
    +關注

    關注

    0

    文章

    284

    瀏覽量

    19904
  • ESP32
    +關注

    關注

    18

    文章

    971

    瀏覽量

    17203
收藏 人收藏

    評論

    相關推薦

    ESP32單片機學習筆記

    ESP32 單片機學習筆記 - 03 - MCPWM脈沖輸出/PCNT脈沖計數前言,繼續上一篇的內容。因為上一篇剛好實驗了iic和spi,形成一對。接下來講pwm另起一篇。一、電機PWM輸出
    發表于 08-23 08:47

    ESP32ESP-IDF學習筆記

    ESP32ESP-IDF 學習筆記(六)【I2C數據總線(I2C)】文章目錄ESP32ESP
    發表于 02-22 07:30

    ESP32 開發筆記(四)LVGL控件學習 Window 窗口控件 X

    ESP32 開發筆記(四)LVGL控件學習 Window 窗口控件 X
    發表于 11-14 09:06 ?6次下載
    <b class='flag-5'>ESP32</b> 開發<b class='flag-5'>筆記</b>(四)LVGL控件<b class='flag-5'>學習</b> Window 窗口控件 X

    [ESP32]學習筆記02

    [ESP32學習筆記02]使用ViusalStudio2017開發ESP32、按鍵輸入檢測前言一、安裝Visual Studio 2017二、配置開發環境1.安裝ViusalGDB2.
    發表于 12-03 17:36 ?23次下載
    [<b class='flag-5'>ESP32</b>]<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>02

    [ESP32]學習筆記04

    Analog-to-Digital Converter(模數轉換器)的使用今天我們學習ESP32提供的ADC外設的使用,ESP32的每個ADC單元都支持兩種模式,單次讀取和連續讀取(DMA),本次
    發表于 12-22 19:02 ?9次下載
    [<b class='flag-5'>ESP32</b>]<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>04

    SPI主線協議——ESP32學習筆記

    目錄SPI主線協議——ESP32學習筆記零、前言一、什么是SPI?二、通信過程?三、極性和相位四、總結SPI主線協議——ESP32學習
    發表于 12-22 19:23 ?18次下載
    SPI主線協議——<b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    ESP32 單片機學習筆記 - 08 - WebSocket客戶端

    前言,終于要到網絡模型的最后一層,第四層,應用層,http、websocket的實踐了。文章目錄ESP32 單片機學習筆記 - 08 - WebSocket客戶端一、應用層協議 科普概念二、編程指南
    發表于 12-29 18:56 ?12次下載
    <b class='flag-5'>ESP32</b> 單片機<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 08 - WebSocket客戶端

    ESP32 單片機學習筆記 - 04 - ADC和定時器

    ESP32 單片機學習筆記 - 04 - ADC和定時器一、模擬數字轉換器 ADC編程指南:Analog to Digital Converter。數據手冊: ESP32 技術參考手冊
    發表于 01-17 13:18 ?11次下載
    <b class='flag-5'>ESP32</b> 單片機<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 04 - ADC和定時器

    ESP32芯片模組機器學習算法運行的應用

    強大的機器學習算法。 ESP32集天線開關、射頻巴倫、功率放大器、低噪聲放大器、濾波器以及電源管理模塊于一體,占用較小的PCB空間,即可最大化滿足實際應用多樣的功能需求。 使用EdgeImpulse在ESP32上運行機器
    發表于 03-15 17:23 ?1254次閱讀

    ESP32上的深度強化學習

    電子發燒友網站提供《ESP32上的深度強化學習.zip》資料免費下載
    發表于 12-27 10:31 ?0次下載
    <b class='flag-5'>ESP32</b>上的深度強化<b class='flag-5'>學習</b>

    ESP32學習筆記:ADC

    ESP32 芯片有2 個 12位的SAR(逐次逼近)ADC,最多可以讀取18個不同的模擬通道輸入,由5個專用轉換控制器管理,2個支持高性能多通道掃描,2個支持Deep-sleep低功耗模式下運行,還有一個專門用于功率檢測和峰值監測。
    的頭像 發表于 07-13 17:11 ?4948次閱讀
    <b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>:ADC

    ESP32學習筆記:存儲分布和啟動過程

    今天我們來說說ESP32 for Arduino存儲分布以及啟動過程。
    的頭像 發表于 07-14 15:10 ?2946次閱讀
    <b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>:存儲分布和啟動過程

    ESP32學習筆記:NVS分區永久保存數據

    今天我們來說說ESP32 for Arduino NVS分區永久保存數據。
    的頭像 發表于 07-15 16:14 ?1.1w次閱讀
    <b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>:NVS分區永久保存數據

    ESP32學習筆記:雙核

    今天我們來說說ESP32 for Arduino 的雙核。
    的頭像 發表于 07-15 16:16 ?4963次閱讀
    <b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>:雙核

    ESP32學習筆記:WiFi

    今天我們來說說ESP32 的WiFi。
    的頭像 發表于 07-15 16:20 ?3932次閱讀
    <b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>:WiFi
    主站蜘蛛池模板: 国产AV亚洲一区精午夜麻豆| 国产精品免费大片| 国产成人无码区免费内射一片色欲| 国产精品久久高潮呻吟无码| 日韩亚洲欧美中文在线| Chinesetube国产中文| 男人网站在线| 97精品在线| 欧美极限变态扩张video| 99九九99九九九视频精品| 免费麻豆国产黄网站在线观看| 在线播放毛片| 乱VODAFONEWIFI熟妇| 在线观看免费视频播放视频| 精品一区二区三区在线成人| 一本大道无码AV天堂欧美| 久久婷婷五月综合色情| 张开腿我尝尝你的草莓| 秘密教学93话恩爱久等了免费| adc影院欢迎您大驾光临入口| 强奷乱码中文字幕熟女免费 | 久久精品国产亚洲AV天美18| 1000视频在线播放 | 免费人成在线观看网站视频| 成人免费网址在线| 亚洲高清在线视频| 免费果冻传媒2021视频| 粗大分开挺进内射| 亚洲婷婷天堂综合国产剧情| 免费精品国产日韩热久久| 国产精品成人影院在线观看| 亚洲中文字幕在线第六区| 日本高清免费看| 娇喘嗯嗯 轻点啊视频福利| AV无码九九久久| 亚洲一卡二卡三卡四卡无卡麻豆| 美女脱了内裤张开腿让男人桶到爽| 国产精品无码无卡毛片不卡视 | 中文字幕欧美一区| 午夜伦理一yy4480影院| 国产香蕉视频|