打印
[DemoCode下载]

NUC131在Arduino下读取EEPROM的方法

[复制链接]
212|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
稳稳の幸福|  楼主 | 2024-2-28 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*
                This sample code sets I2C bus clock to 100kHz. Then, accesses EEPROM 24LC64 with Byte Write
                and Byte Read operations, and check if the read data is equal to the programmed data.
        
                This example code is in the public domain.
*/



#include <Wire.h>
#include <EEPROM.h>

void setup()
{
  Serial.begin(9600);
  
  /* Programming EEPROM */
  int reading;  
  for(int i=0;i<256;i++)
  {   
    EEPROM.write(i,i);  /* Write EEPROM */
  }
     
  for(int i=0;i<256;i++)
  {
     reading=EEPROM.read(i);  /* Read EEPROM */
     Serial.print(reading);   /* print the reading */
     Serial.print("\t");        
  }     
}

void loop()
{

}


使用特权

评论回复
沙发
xixi2017| | 2024-2-28 10:52 | 只看该作者
底层用的是硬件I2C吗

使用特权

评论回复
板凳
天灵灵地灵灵| | 2024-2-28 14:57 | 只看该作者
这个操作也太方便简单了,值的学习

使用特权

评论回复
地板
幸福小强| | 2024-2-28 16:25 | 只看该作者
Arduino的EEPROM库函数允许您在Arduino的EEPROM(Electrically Erasable Programmable Read-Only Memory)中读取和写入数据。EEPROM是一种非易失性存储器,可以在Arduino掉电后保留数据。以下是一些常用的EEPROM库函数:

EEPROM.write(address, value):

将一个字节的数据写入EEPROM指定地址。
参数:
address:要写入的EEPROM地址(0到EEPROM大小-1之间的整数)。
value:要写入的字节值(0到255之间的整数)。
EEPROM.read(address):

从EEPROM指定地址读取一个字节的数据。
参数:
address:要读取的EEPROM地址(0到EEPROM大小-1之间的整数)。
返回值:从指定地址读取的字节值(0到255之间的整数)。
EEPROM.update(address, value):

更新EEPROM指定地址处的数据,只有在新值与原始值不同时才进行写入操作。
参数:
address:要更新的EEPROM地址(0到EEPROM大小-1之间的整数)。
value:要写入的字节值(0到255之间的整数)。
EEPROM.put(address, value):

将一个数据结构写入EEPROM的指定地址。
参数:
address:要写入的EEPROM地址(0到EEPROM大小减去数据结构大小之间的整数)。
value:要写入的数据结构,可以是结构体、类对象等。
EEPROM.get(address, value):

从EEPROM的指定地址读取一个数据结构。
参数:
address:要读取的EEPROM地址(0到EEPROM大小减去数据结构大小之间的整数)。
value:读取到的数据将存储在这个参数中,可以是结构体、类对象等。
EEPROM.begin(size):

初始化EEPROM库并设置EEPROM的大小。
参数:
size:要初始化的EEPROM大小,以字节为单位。
EEPROM.end():

结束EEPROM库的使用。

使用特权

评论回复
5
幸福小强| | 2024-2-28 16:25 | 只看该作者
这些函数提供了对EEPROM的基本读写操作,您可以使用它们在Arduino程序中保存和检索数据,而无需担心掉电后数据丢失的问题。

使用特权

评论回复
6
幸福小强| | 2024-2-28 16:26 | 只看该作者
#include <EEPROM.h> // 包含EEPROM库

int address = 0; // EEPROM中的起始地址

void setup() {
  Serial.begin(9600); // 初始化串口通信
}

void loop() {
  int value = 123; // 要保存的整数值

  // 将整数值写入EEPROM
  EEPROM.put(address, value);
  Serial.println("Value written to EEPROM.");

  // 读取EEPROM中的整数值
  int readValue;
  EEPROM.get(address, readValue);
  Serial.print("Value read from EEPROM: ");
  Serial.println(readValue);

  delay(1000); // 等待1秒
}

使用特权

评论回复
7
幸福小强| | 2024-2-28 16:26 | 只看该作者
这个示例中,我们使用了 EEPROM.put() 函数将一个整数值写入EEPROM,然后使用 EEPROM.get() 函数从EEPROM中读取该值。在循环中,我们一直重复这个过程。注意,在这个示例中,EEPROM的地址是0,您可以根据需要修改地址。

使用特权

评论回复
8
幸福小强| | 2024-2-28 16:50 | 只看该作者
这个函数如何能移植出来就可以在任何工程里使用了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

162

主题

3098

帖子

8

粉丝