OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3827|回复: 0

EEPROM地址读写程序,延长EEPROM寿命

[复制链接]

19

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
466
金钱
466
注册时间
2018-6-8
在线时间
114 小时
发表于 2018-7-21 14:41:14 | 显示全部楼层 |阅读模式
最近做项目需要采集一些数据并且做到掉电保存,但是读写频率太高放弃了使用EEPROM和FLASH,改用RTC历程内的BKP寄存器存数据。
参考原子哥的程序已经实现了EEPROM的读写,并且在查找资料后实现了EEPROM全地址轮流写入的功能,最后项目中没有用到。
参考资料:https://blog.csdn.net/jxgxlm2008/article/details/51880799

手头只有一块普中的板子,所以没有使用战舰版进行测试,芯片是ZET6理论上和战舰版通用,只有LED和按键引脚不一样需要修改。

程序很简单,只有两个函数,读和写。
具体实现思路:1.将EEPROM内256个字节地址拆分成16个长度为16字节的区域,由于原子哥的程序里面检查EEPROM是否损坏的程序使用了255地址,所以我只使用了这16个区域的前15个,最后一个区域只进行255地址的读写。
2.每个区域的首地址写入固定的值(如0xAA),作为标志位。首地址之后的14个地址存数据,最后一个地址做校验用。
3.每次对0x10的整数倍地址先进行读取,当读取到0xAA时,表示该地址对应的区域内数据有效,读出所有数据。
4.当遍历所有地址都没有读取到0xAA,则判定EEPROM内数据为空,在0x00地址写入0xAA,并在0x01 - 0x10写入数组内数据。

27. I2C-EEPROM实验IIC2.zip

5.05 MB, 下载次数: 1881

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 17:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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