这几天遇到一个问题,在对EEPROM AT25256进行连续读写操作时发现,读出的数据有时与写入的数据不对应,有谁知道是为什么吗?请指导一下,谢谢
例如:如果是下面这种情况,那么dset_at1第二次读取错误
e2prom_WriteWord(0x0011, 0x0018);//读1#间隔时间
dset_at1=e2prom_ReadWord(0x0011);//读取数据正确 第一次读
e2prom_WriteWord(0x0012, 0x0018);//读2#间隔时间
// dset_at2=e2prom_ReadWord(0x0012);
e2prom_WriteByte(0x0013, 0x01);//读1#周期 智能状态
yihaozhouqi=e2prom_ReadByte(0x0013);
e2prom_WriteByte(0x0014, 0x00);
yihaozhineng=e2prom_ReadByte(0x0014);
e2prom_WriteByte(0x0015, 0x01);//读2#周期 智能状态
erhaozhouqi=e2prom_ReadByte(0x0015);
dset_at1=e2prom_ReadWord(0x0011);//读取数据错误 第二次读
但是,如果是下面这种情况,那么dset_at1第二次读取就是正确的
e2prom_WriteWord(0x0011, 0x0018);//读1#间隔时间
dset_at1=e2prom_ReadWord(0x0011);//读取数据正确 第一次读
e2prom_WriteWord(0x0082, 0x0018);//读2#间隔时间
// dset_at2=e2prom_ReadWord(0x0082);
e2prom_WriteByte(0x0083, 0x01);//读1#周期 智能状态
yihaozhouqi=e2prom_ReadByte(0x0083);
e2prom_WriteByte(0x0084, 0x00);
yihaozhineng=e2prom_ReadByte(0x0084);
e2prom_WriteByte(0x0085, 0x01);//读2#周期 智能状态
erhaozhouqi=e2prom_ReadByte(0x0085);
dset_at1=e2prom_ReadWord(0x0011);//读取数据正确 第二次度
|