24C512问题,高手来救我啊,一个星期没想明白
字体: 小 中 大 | 打印 发表于: 2008-9-10 15:39 作者: fukeb 来源: proteus仿真社区
我的程序是先存4个数到24c512的四个地址里,然后读出到液晶上显示,结果读出来的都是FF。有IIC DEBUGER看是:
S A0 A 24 A 00 A 0B A P
S A0 A 78 A 01 A 0B A P
S A0 A 78 A 02 A 0B A P
S A0 A 78 A 03 A 0B A P
S A0 A 08 A 00 A Sr A1 A FF N P
S A0 A 08 A 01 A Sr A1 A FF N P
S A0 A 08 A 02 A Sr A1 A FF N P
S A0 A 08 A 03 A Sr A1 A FF N P
下面是部分程序,请大家帮下忙了,弄了好几天了,郁闷死了。
StoreData(0,11);
StoreData(1,13);
StoreData(2,15);
StoreData(3,17);
aaa=ReadData(0);
bbb=ReadData(1);
ccc=ReadData(2);
ddd=ReadData(3);
void StoreData(uint Address,uchar Value)
{
start();
shout(FM_WRITE);
// shout(Address);
shout(Address/256); shout(Address%256);
shout(Value);
stop();
delayms(10);
}
uchar FM_read_current()
// 在当前地址读取
{
uchar read_data;
start();
shout(FM_READ);
read_data = shin();
SendAck(1); //因为只读一个值,所以发送非应答位。
stop();
return(read_data);
}
uchar ReadData(uint Address)
{
start();
shout(FM_WRITE);
// shout(Address);
shout(Address/256); shout(Address%256);
return(FM_read_current());
}

最新回复
fukeb (2008-9-18 14:34:35)
(2008-09-18 14:34:35, Size: 150 KB, Downloads: 1)