如何在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.