极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 34116|回复: 17

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

[复制链接]
发表于 2014-10-21 11:53:51 | 显示全部楼层 |阅读模式
本帖最后由 加饭 于 2014-10-23 10:44 编辑

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

  3. AT24CXXX ROM_512;

  4. void setup()
  5. {
  6.   Wire.begin();        //启动I2C通信
  7.   Serial.begin(9600);
  8.   
  9.   ROM_512.Memory_Size(512);
  10.   //512K内部地址:  0x0000——0xffff
  11.   //32K内部地址:   0x0000——0x0fff
  12.   //2K内部地址:    0x0000——0x00ff
  13. }

  14. void loop()
  15. {
  16.   byte a0 = 0xff;  byte a1 = 0xff;
  17.   
  18.   //WriteByte(硬件地址位,内部地址位,一个字节数据)
  19.   ROM_512.WriteByte(0x50 ,0x0000 ,0xaa);
  20.   ROM_512.WriteByte(0x50 ,0x00ff ,0xbb);
  21.   
  22.   //Readbyte(硬件地址位,内部地址位)  
  23.   a0 = ROM_512.ReadByte(0x50 ,0x0000);
  24.   a1 = ROM_512.ReadByte(0x50 ,0x00ff);
  25.   
  26.   Serial.print("a0=");delay(10);
  27.   Serial.println( a0,HEX );delay(1000);
  28.   Serial.print("a1=");delay(10);
  29.   Serial.println( a1,HEX );delay(1000);
  30. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 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创客社区-分享创造的喜悦)
回复 支持 反对

使用道具 举报

发表于 2014-10-22 10:33:21 | 显示全部楼层
无法下载 ....
无法找到该网页
404 Not Found
回复 支持 反对

使用道具 举报

发表于 2014-10-22 11:11:05 | 显示全部楼层
无法下载 ....
无法找到该网页
404 Not Found
回复 支持 反对

使用道具 举报

发表于 2014-10-22 12:07:21 | 显示全部楼层
老大,下载不了啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-23 10:31:30 | 显示全部楼层
加饭 发表于 2014-10-21 11:58
另外,使用时请注意EEPROM的容量,例如2K的最多存256字节地址时0x0000~0x00ff,如果强行保存在0x0100这个位 ...

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

使用道具 举报

 楼主| 发表于 2014-10-23 10:32:26 | 显示全部楼层
hmjack2008 发表于 2014-10-22 10:33
无法下载 ....
无法找到该网页
404 Not Found

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

使用道具 举报

 楼主| 发表于 2014-10-23 10:32:51 | 显示全部楼层
504835618 发表于 2014-10-22 11:11
无法下载 ....
无法找到该网页
404 Not Found

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

使用道具 举报

 楼主| 发表于 2014-10-23 10:33:07 | 显示全部楼层
henrypcw 发表于 2014-10-22 12:07
老大,下载不了啊

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

使用道具 举报

发表于 2014-10-23 11:00:45 | 显示全部楼层
本帖最后由 504835618 于 2014-10-23 11:08 编辑
加饭 发表于 2014-10-23 10:33
如有需要,请留邮箱——我已经重新上传,但还是无法下载


谢谢,已下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-23 11:29:51 | 显示全部楼层
504835618 发表于 2014-10-23 11:00
谢谢,已下。

如遇到疑问或者库文件不足之处,多多交流~
回复 支持 反对

使用道具 举报

发表于 2014-10-23 12:28:48 | 显示全部楼层
加饭 发表于 2014-10-23 11:29
如遇到疑问或者库文件不足之处,多多交流~


还没明白怎么用,是外扩展MCU内存吗/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-23 15:47:37 | 显示全部楼层
504835618 发表于 2014-10-23 12:28
还没明白怎么用,是外扩展MCU内存吗/

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

使用道具 举报

发表于 2014-10-23 16:49:28 | 显示全部楼层
加饭 发表于 2014-10-23 10:32
如有需要,请留邮箱——我已经重新上传,但还是无法下载


已收到, 谢谢 !!
回复 支持 反对

使用道具 举报

发表于 2016-3-8 12:50:46 | 显示全部楼层
楼主你好!
我觉得你的库文件很好,想使用,请你给我一份好吗?
我的信箱是:[email protected]
谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-19 20:28 , Processed in 0.048595 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表