[应用相关] 将一个整型变量写读eeprom操作

[复制链接]
1282|19
 楼主| chuxh 发表于 2018-12-6 15:43 | 显示全部楼层 |阅读模式
将一个整型变量写读eeprom操作
gongche 发表于 2018-12-6 15:48 | 显示全部楼层

楼主详细说说怎么回事啊,这么说太笼统了
 楼主| chuxh 发表于 2018-12-6 15:50 | 显示全部楼层
就是我有一个整形的变量,要怎么写在eeprom中,用的时候怎么读出来?我用的库函数写的。
huanghuac 发表于 2018-12-6 15:53 | 显示全部楼层
主要分成以下2个步骤:
             第一步:  用库函数把它写进去。
             第二部:  用库函数把它读出来。
happy_10 发表于 2018-12-6 15:58 | 显示全部楼层
楼主网上去找找 操作EEPROM的例程啦,很多很多的。
 楼主| chuxh 发表于 2018-12-6 16:01 | 显示全部楼层
写的时候可以写32个字,也就是4个字节,但是读的时候只能读一个字节,我想知道在读的时候怎么让它产生移位,怎么知道他已经读完了
bqyj 发表于 2018-12-6 16:07 | 显示全部楼层
那也就是你是用的EEPROM支持连续写得操作,也就是说你只需要发一次地址后,就立马可以连续写了。
zhuhuis 发表于 2018-12-6 16:10 | 显示全部楼层
既然这个EEPROM支持连续写,它必然是支持连续读操作的,你在读取完一个字节的时候在继续读取数据就行了,EEPROM这颗芯片硬件会自动给地址加1,然后返回这个地址的值
tian111 发表于 2018-12-6 16:13 | 显示全部楼层
取决于你的整形有几个字节
songqian17 发表于 2018-12-6 16:17 | 显示全部楼层
最笨的办法就是用union
union {
  int data;
  char byte[4];// 假设你的整形为4bytes
} mydata;
使用时
...
mydata.data = 0x12345678;
eeprom_wr_byte(mydata.byte[0],addr); //写第一个字节 ,剩下的你该明白的
chenho 发表于 2018-12-6 16:20 | 显示全部楼层
你读四个不就行了。放到一个地址里,然后再读一个int。
 楼主| chuxh 发表于 2018-12-6 16:24 | 显示全部楼层
怎么读一个整型?
 楼主| chuxh 发表于 2018-12-6 16:29 | 显示全部楼层
我这边的库都是一次只读一个字节的
juventus9554 发表于 2018-12-6 16:34 | 显示全部楼层
一次一个字节,读4次不就可以了,每读一个就存到数组里,读完再组合起来
 楼主| chuxh 发表于 2018-12-6 16:39 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
Prry 发表于 2018-12-7 00:17 | 显示全部楼层
写:
int a = 0;
eeprom_write((uint8_t*)&a,4);
读:
int a = 0;
eeprom_read((uint8_t*)&a,4);

参考这个:https://blog.csdn.net/qq_20553613/article/details/82733817
晓伍 发表于 2018-12-7 14:01 | 显示全部楼层
没明白楼主想要问啥
木木guainv 发表于 2018-12-12 12:38 | 显示全部楼层
能一个字节一个字节的写?
xiaoqizi 发表于 2018-12-12 12:42 | 显示全部楼层
长知识了  感谢16喽啊
wowu 发表于 2018-12-12 12:47 | 显示全部楼层
可以单个字节操作?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

936

主题

11296

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部