打印

24c512连续读的问题??

[复制链接]
2236|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
redxinling|  楼主 | 2011-9-24 18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好
连续读24C512时,只能读出第一个数据,其他均为0xFF,写操作没问题,看程序是否有致命问题,采用的是c8051f020单片机
Rd_nbyte_FromROM24(uint address,uchar num)
{
uchar xdata rdata=0;
uchar xdata i=8;  
uchar xdata j=0;
uchar xdata msb=0,lsb=0;
EA=0;
start_bit();
write_8bit(0xA0);  ack();
msb = address/256;
lsb =  address%256;
write_8bit(msb); ack();
write_8bit(lsb); ack();
start_bit();
write_8bit(0xA1);  ack();
for(j=0;num>0;num--,j++)
{
while(i--)
{
   SCL=0;
   rdata<<=1;
  delay_iic(1);
  SCL=1;
  delay_iic(1);
  if(SDA) rdata|=0x01;
}
ack();   
  i=8;
  rec_tmp24_nbyte[j] = rdata;
   rdata= 0;
//  if((j+lsb)>=256)//此部分为超过128字节时使用
//    {
//     msb++; lsb=0;
//     no_ack();
//     stop_bit();
//     write_8bit(0xA0); ack(); //写地址
//     write_8bit(msb);ack();   
//        write_8bit(lsb); ack(); //设置首地址
//     start_bit();
//       write_8bit(0xA1);
//    ack();        
//    }
}
no_ack();
stop_bit();
EA=1;
}

相关帖子

沙发
redxinling|  楼主 | 2011-9-24 18:58 | 只看该作者
是应答时序的问题,已解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝