STM32
直播中

李伟

7年用户 1473经验值
私信 关注
[问答]

M24C16为什么只能读写最后一次的数据?

我的现象是,每次写完一组数据(16个字节),然后再读出来,发现是正确的。
但是如果再读取上一次或者上几次读写的数据,也就是更改一下EEPROM的地址,读出来的数据和最新的一次是一样的。
我不清楚是我哪里操作错了。

这个是我写的与EEPROM通讯的函数,第一个给slave是0x50,reg_addr随便取,比如是0xA0,*pdata是我要写的数据,data_size是16.

回帖(1)

钱敏

2024-3-12 16:40:18
EEPROM 通常只备有page-size的buffer,可以一次接收一页数据在buffer内,然后就要花几十毫秒写入数据,此时应该是不响应总线,如果连续写入时间间隔太短会出错。建议先测试一下,每页之间插入足够delay,看看是否正确。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分