加饭 发表于 2014-10-21 11:53:51

分享一个外部EEPROM的通用库文件

本帖最后由 加饭 于 2014-10-23 10:44 编辑

学了Arduino两个月,UNO让人尴尬的内存,让有强迫症的我感觉不自在,尝试使用外部EEPROM时,却发现很多教程之间存在一个问题——仅仅适用于一种EEPROM,2K的代码,用在32K的就不行了~经过两个月的苦心钻研,参考各位的库文件,经过自行修改和调试,写了一个兼容性较为客观的库文件~如果在使用过程中遇到问题,请大家留言指出,互相交流~
自行编写,纯属兴趣,多多包涵~
#include <AT24CXXX.h>
#include <Wire.h>

AT24CXXX ROM_512;

void setup()
{
Wire.begin();      //启动I2C通信
Serial.begin(9600);

ROM_512.Memory_Size(512);
//512K内部地址:0x0000——0xffff
//32K内部地址:   0x0000——0x0fff
//2K内部地址:    0x0000——0x00ff
}

void loop()
{
byte a0 = 0xff;byte a1 = 0xff;

//WriteByte(硬件地址位,内部地址位,一个字节数据)
ROM_512.WriteByte(0x50 ,0x0000 ,0xaa);
ROM_512.WriteByte(0x50 ,0x00ff ,0xbb);

//Readbyte(硬件地址位,内部地址位)
a0 = ROM_512.ReadByte(0x50 ,0x0000);
a1 = ROM_512.ReadByte(0x50 ,0x00ff);

Serial.print("a0=");delay(10);
Serial.println( a0,HEX );delay(1000);
Serial.print("a1=");delay(10);
Serial.println( a1,HEX );delay(1000);
}

加饭 发表于 2014-10-21 11:58:47

本帖最后由 加饭 于 2014-10-23 10:47 编辑

另外,使用时请注意EEPROM的容量,例如2K的最多存256字节地址时0x0000~0x00ff,如果强行保存在0x0100这个位置,它会自动覆盖0x0000这个位置——即重头写起~
本库文件经过2K,32K和512K的测试(是AT24C系列的)~超过512,建议上sd好了...

实在不想随意泄露个人邮箱的童鞋,可以到DFRobot论坛下载库文件——亲测可下~链接如下

关于外部EEPROM的使用
http://www.dfrobot.com.cn/community/forum.php?mod=viewthread&tid=3232&fromuid=67606
(出处: DF创客社区-分享创造的喜悦)

hmjack2008 发表于 2014-10-22 10:33:21

无法下载 ....
无法找到该网页
404 Not Found

504835618 发表于 2014-10-22 11:11:05

无法下载 ....
无法找到该网页
404 Not Found

henrypcw 发表于 2014-10-22 12:07:21

老大,下载不了啊

加饭 发表于 2014-10-23 10:31:30

加饭 发表于 2014-10-21 11:58 static/image/common/back.gif
另外,使用时请注意EEPROM的容量,例如2K的最多存256字节地址时0x0000~0x00ff,如果强行保存在0x0100这个位 ...

不知道为什么,更新附件上传,依旧还是下不了~求版主解决~如有需要,请留邮箱,这几天发给你们的邮箱~

加饭 发表于 2014-10-23 10:32:26

hmjack2008 发表于 2014-10-22 10:33 static/image/common/back.gif
无法下载 ....
无法找到该网页
404 Not Found

如有需要,请留邮箱——我已经重新上传,但还是无法下载

加饭 发表于 2014-10-23 10:32:51

504835618 发表于 2014-10-22 11:11 static/image/common/back.gif
无法下载 ....
无法找到该网页
404 Not Found

如有需要,请留邮箱——我已经重新上传,但还是无法下载

加饭 发表于 2014-10-23 10:33:07

henrypcw 发表于 2014-10-22 12:07 static/image/common/back.gif
老大,下载不了啊

如有需要,请留邮箱——我已经重新上传,但还是无法下载

504835618 发表于 2014-10-23 11:00:45

本帖最后由 504835618 于 2014-10-23 11:08 编辑

加饭 发表于 2014-10-23 10:33 static/image/common/back.gif
如有需要,请留邮箱——我已经重新上传,但还是无法下载

谢谢,已下。

加饭 发表于 2014-10-23 11:29:51

504835618 发表于 2014-10-23 11:00 static/image/common/back.gif
谢谢,已下。

如遇到疑问或者库文件不足之处,多多交流~:handshake

504835618 发表于 2014-10-23 12:28:48

加饭 发表于 2014-10-23 11:29 static/image/common/back.gif
如遇到疑问或者库文件不足之处,多多交流~

还没明白怎么用,是外扩展MCU内存吗/

加饭 发表于 2014-10-23 15:47:37

504835618 发表于 2014-10-23 12:28 static/image/common/back.gif
还没明白怎么用,是外扩展MCU内存吗/

初衷的确是这样的~虽然UNO芯片内部也有一定存储容量,但如果用来记录一段时间内的测量数据,这样又有点鸡肋...不过纯属是用来练习自行编写库文件

hmjack2008 发表于 2014-10-23 16:49:28

加饭 发表于 2014-10-23 10:32 static/image/common/back.gif
如有需要,请留邮箱——我已经重新上传,但还是无法下载

已收到, 谢谢 !!

HenryXue 发表于 2016-3-8 12:50:46

楼主你好!
我觉得你的库文件很好,想使用,请你给我一份好吗?
我的信箱是:[email protected]
谢谢。
页: [1] 2
查看完整版本: 分享一个外部EEPROM的通用库文件