chuxh 发表于 2022-11-12 22:59

将一个整型变量写读eeprom操作

将一个整型变量写读eeprom操作

huangchui 发表于 2022-11-12 23:01

楼主详细说说怎么回事啊,这么说太笼统了

chuxh 发表于 2022-11-12 23:04

就是我有一个整形的变量,要怎么写在eeprom中,用的时候怎么读出来?我用的库函数写的。

renyaq 发表于 2022-11-12 23:06


主要分成以下2个步骤:
             第一步:用库函数把它写进去。
             第二部:用库函数把它读出来。

jiajs 发表于 2022-11-12 23:08

楼主网上去找找 操作EEPROM的例程啦,很多很多的。

chuxh 发表于 2022-11-12 23:11

写的时候可以写32个字,也就是4个字节,但是读的时候只能读一个字节,我想知道在读的时候怎么让它产生移位,怎么知道他已经读完了

happy_10 发表于 2022-11-12 23:14


那也就是你是用的EEPROM支持连续写得操作,也就是说你只需要发一次地址后,就立马可以连续写了。

chenho 发表于 2022-11-12 23:16

既然这个EEPROM支持连续写,它必然是支持连续读操作的,你在读取完一个字节的时候在继续读取数据就行了,EEPROM这颗芯片硬件会自动给地址加1,然后返回这个地址的值

stly 发表于 2022-11-12 23:18

取决于你的整形有几个字节

heweibig 发表于 2022-11-12 23:20

最笨的办法就是用union
union {
int data;
char byte;// 假设你的整形为4bytes
} mydata;
使用时
...
mydata.data = 0x12345678;
eeprom_wr_byte(mydata.byte,addr); //写第一个字节 ,剩下的你该明白的

jiajs 发表于 2022-11-12 23:22

你读四个不就行了。放到一个地址里,然后再读一个int。

chuxh 发表于 2022-11-12 23:29

怎么读一个整型?

chuxh 发表于 2022-11-12 23:31

我这边的库都是一次只读一个字节的

renyaq 发表于 2022-11-12 23:31

一次一个字节,读4次不就可以了,每读一个就存到数组里,读完再组合起来

houcs 发表于 2022-11-12 23:34

写:
int a = 0;
eeprom_write((uint8_t*)&a,4);
读:
int a = 0;
eeprom_read((uint8_t*)&a,4);

chuxh 发表于 2022-11-12 23:36

没明白楼主想要问啥

dengdc 发表于 2022-11-12 23:38


能一个字节一个字节的写?

llljh 发表于 2022-11-12 23:40


可以单个字节操作?

午夜粪车 发表于 2022-11-12 23:42

楼主你需要搞清楚32位整形数在内存里是怎么存储的,大端法小端法的概念,怎么用4个8位数拼接成一个32位数

yszong 发表于 2022-11-12 23:46

额 有现成的例程啊
页: [1] 2 3
查看完整版本: 将一个整型变量写读eeprom操作