如何使用Arduino将数据写入EEPROM?
ArduinoUno具有1kB的EEPROM存储空间。EEPROM是一种非易失性存储器,即掉电后其内容仍会保留。因此,它可用于存储您希望跨电源循环保持不变的数据。配置或设置是此类数据的示例。
示例
在本例中,我们将看到如何将数据写入EEPROM。我们将介绍Arduino中的一个内置示例。可以从-文件→示例→EEPROM访问EEPROM示例。
我们将查看eeprom_write示例。由于EEPROM库,这非常简单。这里要注意一点。请使用.write()节俭地运作。每个EEPROM每个地址的写周期数有限(~100,000)。如果对EEPROM写入过多,则会缩短EEPROM的使用寿命。
我们从包含库开始。
#include
接下来,为EEPROM地址字段(您将写入的地址)定义一个全局变量
int address = 0;
在设置中,我们什么都不做。
void setup() { /** Empty setup. **/ }
在循环中,我们从模拟输入读取数据(将引脚编号替换为您已连接某个模拟传感器的引脚)。我们将该值除以4,因为analogRead的值是从0到1023,而一个字节可以存储从0到255的值。我们使用该函数将此值写入EEPROM,该函数接受两个参数:要写入的地址和要写入的值。然后我们增加地址并重复此操作。如果此地址到达EEPROM存储器的末尾,我们将返回到开头(addr=0)。EEPROM.write()
void loop() { int val = analogRead(A0) / 4; EEPROM.write(addr, val); addr = addr + 1; if (addr == EEPROM.length()) { addr = 0; } delay(100); }
如果您需要将值写入特定地址,您只需提供该地址作为.EEPROM.write()