如何使用 Arduino 將資料寫入 EEPROM?
Arduino Uno 擁有 1 kB 的 EEPROM 儲存空間。EEPROM 是一種非易失性儲存器,即其內容即使在斷電後也能保留。因此,它可以用來儲存您希望在電源迴圈之間保持不變的資料。配置或設定就是此類資料的示例。
示例
在本例中,我們將瞭解如何將資料寫入 EEPROM。我們將逐步完成 Arduino 中的內建示例。EEPROM 示例可以透過以下方式訪問:**檔案 → 示例 → EEPROM**。
我們將檢視 **eeprom_write** 示例。由於 EEPROM 庫的存在,它非常簡單。這裡需要提醒一下。請謹慎使用 **.write()** 函式。每個 EEPROM 的每個地址的寫入週期數量有限(約 100,000 次)。如果過度寫入 EEPROM,會縮短 EEPROM 的使用壽命。
我們從包含庫開始。
#include <EEPROM.h>
接下來,為 EEPROM 地址欄位(要寫入的地址)定義一個全域性變數
int address = 0;
在 setup 中,我們什麼也不做。
void setup() {
/** Empty setup. **/
}在迴圈中,我們從模擬輸入讀取資料(將引腳號替換為您連線某些模擬感測器的引腳)。我們將該值除以 4,因為 **analogRead** 值從 0 到 1023,而一個位元組可以儲存從 0 到 255 的值。我們使用 **EEPROM.write()** 函式將此值寫入 EEPROM,該函式接收兩個引數:要寫入的地址和要寫入的值。然後我們遞增地址並重復此操作。如果此地址到達 EEPROM 記憶體的末尾,我們將返回開頭(**addr = 0**)。
void loop() {
int val = analogRead(A0) / 4;
EEPROM.write(addr, val);
addr = addr + 1;
if (addr == EEPROM.length()) {
addr = 0;
}
delay(100);
}如果您需要將值寫入特定地址,只需在 **EEPROM.write()** 中提供該地址作為引數即可。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP