找回密码
 立即注册

QQ登录

只需一步,快速开始

点击进入授权页面

只需一步,快速开始

  • QQ空间
  • 回复
  • 收藏

参加活动: 0

组织活动: 0

该用户从未签到

ardinoDIY 新手上路 2017-10-11 17:51 楼主

you to interface with i2c serial eeprom devices.  我利用Arduino外接AT24CXXX芯片A0,A1,A2接地,利用这个库
https://github.com/Soshimo/I2C-Serial-EEPROM-Arduino-Library

由于没有找到相应例程自己写了一段
#include <Wire.h>
#include <i2cEEPROM.h>

i2cEEPROMClass(rom);
int R_W=2;         // LOW is write data ; HIGH is read data
void setup()
{
  Serial.begin(9600);
  pinMode(R_W,OUTPUT);

  rom.begin(0x57);
  digitalWrite(R_W,LOW);
  rom.writeByte(1,0xaa); delay(10);
  rom.writeByte(10,0xbb); delay(10);
  rom.writeByte(2,0xcc); delay(10);


/* writeString(2,"star");
  delay(10);
  writeString(3,"end");
  delay(10);*/
}

void loop()
{
  rom.begin(0x57);
  digitalWrite(R_W,HIGH);
  byte a = rom.readByte(10); delay(10);

  Serial.println(rom.readByte(2));delay(10);
  Serial.println(a,HEX); delay(10);
  delay(1000);

}

这个代码读出来总是最后写入的俩个字母;如果用0,1000,2000就会是0xAA,0XBB,0XCC,大写的,为什么会这样呢?
为什么地址差距小不行,为什么读出来是大写的?
还有i2cEEPROM中的i2cEEPROM.writeBuffer(unsigned int add, byte *buffer, int offset, unsigned int count)
怎样用,这句没读懂偏移什么缓冲是怎么回事?哪位大神能给解释下?
百度关于这方面的信息不多;
建议你找找其他的库,有可能是你下载的这个库有问题
打赏作者鼓励一下!
直接用I2C库就可以写出来了
一分也是爱~
hongzailalala 发表于 2017-10-11 22:06
直接用I2C库就可以写出来了

这个我找到拉,但是我现在必须要用库
发新帖
发表评论
高级模式  
您需要登录后才可以回帖 登录 | 立即注册  
关闭

推荐主题 上一条 /2 下一条