精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Arduino EEPROM設置初始化

454398 ? 來源:wv ? 2019-10-21 17:28 ? 次閱讀

步驟1:什么是EEPROM

EEPROM是一個很小的存儲器,即使在Arduino板斷電時,其值也會保留。這就像一個很小的硬盤驅動器,因此您可以在下次啟動設備時存儲參數。根據Arduino板的類型,每個板上的可用存儲量會有所不同,例如Uno有1024字節,Mega有4096字節,LilyPad有512字節。

重要的是要注意,所有EEPROM都有有限數量的寫周期。 Atmel為Arduino上的EEPROM指定了大約100000寫/擦除周期的預期壽命。這聽起來好像很多寫操作,但是如果您正在循環讀取和寫入內容,則很容易達到此限制。一旦一個位置被寫入和擦除了太多次,它就會開始變得不可靠。它可能無法返回正確的數據,或者無法從相鄰位返回值。

步驟2:導入庫

要使用此內存,我們首先包括Arduino提供的庫。該庫提供了兩種方法:讀取和寫入相應的操作。讀取功能接受我們要讀取的地址,而寫入功能接受我們要寫入的地址和值。

在我們的示例中,目標是在Arduino的每次啟動時準備好一系列的設置,因此我們首先定義要用于存儲的數組,并為每個對象定義地址。我們要存儲的設置。在我們有1024個可用字節的芯片中,地址位置將從0到1023。

步驟3:設置初始化標志

初始設置默認值的技巧是使用地址之一作為指示,以了解是否已初始化設置。我使用了最后一個地址,因為它通常不用于其他任何地方。如果存儲的值中有一個“ T”字符,loadSettings函數將首先檢查該位置,如果沒有,它將通過設置進行設置,并為每個值寫入初始值。完成后,它將立即將跟蹤初始化設置的位置的值設置為“ T”字符,并且下次打開Arduino電源時,我們將不再初始化值,而是將保存的數據讀入

步驟4:更新設置

要更新值,我們可以使用我們擁有的write函數關于初始化,但更好的方法是使用提供的更新功能。該功能的作用是,它首先檢查我們要保存的值是否與EEPROM中已經存在的值相同,如果不保存則不更新。這樣,它會嘗試減少寫操作的次數,以延長EEPROM的壽命。

步驟5:盡情享受吧!

我希望這個Instructable對您有幫助,并且您設法學到了一些東西。

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

    關注

    9

    文章

    1010

    瀏覽量

    81405
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186646
收藏 人收藏

    評論

    相關推薦

    基于旋轉平移解耦框架的視覺慣性初始化方法

    精確和魯棒的初始化對于視覺慣性里程計(VIO)至關重要,因為不良的初始化會嚴重降低姿態精度。
    的頭像 發表于 11-01 10:16 ?216次閱讀
    基于旋轉平移解耦框架的視覺慣性<b class='flag-5'>初始化</b>方法

    TMS320C6000 McBSP初始化

    電子發燒友網站提供《TMS320C6000 McBSP初始化.pdf》資料免費下載
    發表于 10-26 10:10 ?0次下載
    TMS320C6000 McBSP<b class='flag-5'>初始化</b>

    視頻引擎初始化失敗怎么回事

    視頻引擎初始化失敗是一個常見的技術問題,它可能由多種原因引起,包括軟件沖突、硬件問題、驅動程序問題、系統設置錯誤等。要解決這個問題,需要對可能的原因進行詳細的分析和診斷。 1. 軟件沖突 1.1
    的頭像 發表于 09-18 18:18 ?1012次閱讀

    Jtti:MySQL初始化操作如何設置root密碼

    MySQL初始化時,可以通過以下步驟設置root密碼: 打開命令行工具,使用以下命令啟動MySQL服務: ? sudo service mysql start ? 使用以下命令登錄MySQL服務器
    的頭像 發表于 08-08 16:45 ?314次閱讀

    瀚海微SD NAND應用之SD協議存儲功能描述2 初始化命令

    初始化和識別過程: 總線激活后,主機啟動卡初始化和識別過程。 初始化過程從SD SEND OP COND (ACMD41)開始,通過設置其操作條件和OCR中的HCS位。HCS (Ho
    的頭像 發表于 07-22 10:54 ?331次閱讀
    瀚海微SD NAND應用之SD協議存儲功能描述2 <b class='flag-5'>初始化</b>命令

    arduino環境下用blufi無法配網,藍牙初始化不成功是怎么回事?

    arduino環境下用blufi無法配網,藍牙初始化不成功,是什么回事
    發表于 06-26 08:18

    初始化IO口為外部中斷線的時候,最先初始化的會被后初始化的覆蓋掉為什么?

    初始化IO口為外部中斷線的時候,比如GPIOA6與GPIOB6先后初始化為外部中斷,最先初始化的會被后初始化的覆蓋掉,不知道是為什么?
    發表于 05-14 08:26

    字符型、指針型等變量等該如何初始化

     對于數值類型的變量往往初始化為0,但對于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?
    的頭像 發表于 03-18 11:02 ?1266次閱讀

    MCU單片機GPIO初始化該按什么順序配置?為什么初始化時有電平跳變?

    GPIO初始化時有時鐘配置、模式配置、輸出配置、復用配置,那么在編寫初始化代碼時,到底該按什么順序執行呢?如果順序不當那初始化過程可能會出現短暫的電平跳變。
    的頭像 發表于 02-22 11:07 ?1430次閱讀
    MCU單片機GPIO<b class='flag-5'>初始化</b>該按什么順序配置?為什么<b class='flag-5'>初始化</b>時有電平跳變?

    串口初始化一般是初始化哪些內容

    串口初始化是指在使用串口進行數據通信之前,對串口進行一系列的設置和配置,以確保串口能夠正常工作。串口初始化的內容主要包括以下幾個方面: 串口硬件設置:首先,需要確定要使用的串口是哪一個
    的頭像 發表于 01-04 09:39 ?3054次閱讀

    labview運行后如何初始化

    LabVIEW是一款強大的圖形編程軟件,在運行之前通常需要進行一些初始化操作。本文將詳細介紹LabVIEW運行前的初始化過程,并提供了一些常用的初始化方法。 創建新項目: 在LabV
    的頭像 發表于 12-28 17:24 ?2488次閱讀

    自動初始化機制原理詳解

    自動初始化機制是指初始化函數不需要被顯式調用,只需要在函數定義處通過宏定義的方式進行申明,就會在系統啟動過程中被執行。這篇文章就來探索一下其中的奧秘, 簡單理解其原理!
    的頭像 發表于 12-16 09:33 ?966次閱讀
    自動<b class='flag-5'>初始化</b>機制原理詳解

    C語言編程時,各種類型的變量該如何初始化

    C語言編程時,各種類型的變量該如何初始化? 在C語言中,每個變量都需要在使用之前進行初始化初始化是為變量分配內存空間并賦予初始值的過程。C語言提供了不同的
    的頭像 發表于 12-07 13:53 ?1129次閱讀

    secondary cpu初始化狀態設置

    ,用于填寫secondary cpu的入口地址。 uboot負責將這塊內存的地址寫入devicetree中,當內核初始化完成,需要啟動secondary cpu時,就將其內核入口地址寫到那塊內存中
    的頭像 發表于 12-05 15:27 ?1012次閱讀
    secondary cpu<b class='flag-5'>初始化</b>狀態<b class='flag-5'>設置</b>

    AD7091r-4軟件初始化失敗怎么處理?

    我使用軟件初始化時,發送66個脈沖后,芯片并沒有執行初始化操作,配置寄存器和通道寄存器并沒有被設置為默認值 當我使用軟件初始化時,在發送了66個脈沖后,芯片沒有進行啟動操作,配置登記
    發表于 12-01 06:31