大师VS叫兽 发表于 2014-6-25 20:30:53

怎样用arduino读取AT24C02,AT24C04,~~AT24C256

本人想详细了解AT24C系列的器件,读取一片AT24C02的数据马上写到另一片AT24C02里面,
还有怎样用串口显示循环读取一片AT24C02每一个地址数据,以及怎样对这些数据修改再写入,
求大神发帖讲解一下AT24C02,AT24C04,AT24C08,~~AT24C256的差别及内部物理地址怎样分布的。

275891381 发表于 2014-6-27 02:29:14

本帖最后由 275891381 于 2014-6-27 03:08 编辑

//直接给你个24c02简单的程序吧不用附加库别的带附加库也可以
//byte 换为int也行, 多数据,大于255的数据自己for循环存吧,double float论坛有教程
#include <Wire.h>
int i = 0;
int val;
void Writebyte(byte DeviceAddress, byte DataAddress, byte Data)
{
int rData = Data;
Wire.beginTransmission(DeviceAddress);
Wire.write(DataAddress);
Wire.write(rData);
Wire.endTransmission();
delay(10);
}

byte Readbyte(int DeviceAddress, byte DataAddress)
{
byte rdata = 0xFF;
Wire.beginTransmission(DeviceAddress);
Wire.write(DataAddress);
Wire.endTransmission();
Wire.requestFrom(DeviceAddress, 1);
delay(10);
if (Wire.available())
{
    rdata = Wire.read();
}
delay(10);
return rdata;
}

void setup()
{
Wire.begin();
Serial.begin(9600);
}

void loop()
{


    if (i > 0xFF)
    {
      i = 0x00;
    }
    Writebyte(0x50, i, i);
    val = Readbyte(0x50, i);
    i++;
    Serial.println(val);

}

lyngao 发表于 2015-5-20 15:04:12

275891381 发表于 2014-6-27 02:29 static/image/common/back.gif


循环怎么弄:P
页: [1]
查看完整版本: 怎样用arduino读取AT24C02,AT24C04,~~AT24C256