色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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
    主站蜘蛛池模板: 香蕉免费高清完整| 97精品视频| www黄色com| 精品一区二区免费视频蜜桃网| 人妻体体内射精一区二区| 一本道色播| 国产91网站在线观看免费| 蜜芽无码亚洲资源网站| 亚洲精品无码不卡| 国产3级在线| 男人和女人全黄一级毛片| 亚洲日韩精品AV中文字幕| 国产XXXXXX农村野外| 女人的选择hd| 再插深点嗯好大好爽| 国产亚洲精品久久孕妇呦呦你懂 | 天美传媒果冻传媒入口视频| 92午夜理论第1000集 app| 簧片在线观看| 同时和两老师双飞| qvod在线观看| 麻豆精品乱码WWW久久密| 亚洲中文字幕在线精品| 国产免费网站看v片在线| 乳色吐息未增删樱花ED在线观看| 91国内精品久久久久免费影院| 娇妻玩4P被三个男人伺候电影| 午夜看片网| 福利视频久久| 人妻体内射精一区二区| adc影院欢迎您大驾光临入口| 久久婷婷丁香五月色综合啪免费| 亚洲九九视频| 国产欧美一区二区三区在线看| 色欲色香天天天综合| 奇虎成人网| 538视频这里只有精品| 久久青草费线频观看国产| 亚洲一级电影| 精品亚洲视频在线观看| 亚洲 欧美 国产 视频二区|