如何从Arduino中的EEPROM读取数据?

Arduino Uno 具有 1 kB 的 EEPROM 存储空间。EEPROM 是一种非易失性存储器,即掉电后其内容仍会保留。因此,它可用于存储您希望跨电源循环保持不变的数据。配置或设置是此类数据的示例。

示例

在这个例子中,我们将看到如何从 EEPROM 中读取数据。我们将介绍 Arduino 中的一个内置示例。可以从 -文件 → 示例 → EEPROM访问 EEPROM 示例。

我们将查看eeprom_read示例。由于 EEPROM 库,这非常简单。

我们从包含库开始。

#include <EEPROM.h>

接下来,定义一些全局变量。

int address = 0;
byte value;

在设置中,我们只是初始化串行。

void setup() {
   // 初始化串口并等待端口打开:
   Serial.begin(9600);
   while (!Serial) {
      ; //等待串口连接。仅本地 USB 端口需要
   }
}

在循环中,我们使用该函数读取一字节数据。我们在串行监视器上打印该字节,然后增加地址以读取下一个字节。如果到达 EEPROM 存储器的末尾,则返回到开头(地址 = 0)。EEPROM.read()

void loop() {
   // 从 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()