步驟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文章
1062瀏覽量
83087 -
Arduino
+關注
關注
188文章
6485瀏覽量
189834
發布評論請先 登錄
STM32CubeMX用于STM32配置和初始化C代碼生成
EE-359:ADSP-CM40x啟動時間優化和器件初始化

STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

segger編譯器初始化問題
視頻引擎初始化失敗怎么回事
Keil中變量不被初始化方法

Jtti:MySQL初始化操作如何設置root密碼
瀚海微SD NAND應用之SD協議存儲功能描述2 初始化命令

評論