如何在Arduino中讀取EEPROM資料?


Arduino Uno擁有1 kB的EEPROM儲存空間。EEPROM是一種非易失性儲存器,即即使在斷電後,其內容也能保留。因此,它可以用來儲存您希望在電源迴圈中保持不變的資料。配置或設定就是此類資料的示例。

示例

在本例中,我們將瞭解如何從EEPROM讀取資料。我們將逐步介紹Arduino中的內建示例。EEPROM示例可以透過以下方式訪問:**檔案 → 示例 → EEPROM**。

我們將檢視`eeprom_read`示例。由於使用了EEPROM庫,所以它非常簡單。

我們首先包含庫。

#include <EEPROM.h>

接下來,定義一些全域性變數。

int address = 0;
byte value;

在`setup`函式中,我們只初始化序列埠。

void setup() {
   // initialize serial and wait for port to open:
   Serial.begin(9600);
   while (!Serial) {
      ; // wait for serial port to connect. Needed for native USB port only
   }
}

在`loop`函式中,我們使用`EEPROM.read()`函式讀取一個位元組的資料。我們將該位元組列印到序列埠監視器上,然後遞增地址以讀取下一個位元組。如果我們到達EEPROM記憶體的末尾,我們將返回開頭(地址 = 0)。

void loop() {
   // read a byte from the current address of the EEPROM
   value = EEPROM.read(address);
   Serial.print(address);

   Serial.print("\t");
   Serial.print(value, DEC);
   Serial.println();

   address = address + 1;
   if (address == EEPROM.length()) {
      address = 0;
   }
   delay(500);
}

如您所見,這非常簡單。如果您需要從特定地址讀取值,只需將該地址作為引數提供給`EEPROM.read()`即可。`EEPROM.read()`的唯一限制是它一次只能讀取一個位元組的資料,因此您需要進行迭代才能獲得所需數量的位元組。

更新於:2021年7月26日

2K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.