当前位置: 代码迷 >> 单片机 >> I2C总线的有关问题
  详细解决方案

I2C总线的有关问题

热度:149   发布时间:2016-04-28 16:29:43.0
I2C总线的问题
小弟用的ARM7,在做IIC读写实验 。 情况是这样的:当执行写任务时,发送开始信号能收到从机的回应信号08H。但到读的时候,发送开始信号就收不到回应信号了。相应程序如下:

void I2Cstart()//开始信号;
{
  I2CONSET=STA;
  do {} while(I2CSTAT!=0x08);
  I2CONCLR=STA;
}

void writebyte(U8 data)
{
  I2DAT=data;
  I2CONCLR=SI;
}


void read24c02(void)
{
  U8 i;
  I2Cstart();
  writeaddr(0);
 // writedata(0);
  I2Cstop();

  I2Cstart();
  writeaddr(1);
  for(i=0;i<4;i++) I2C_buf2[i]=0;
  for(i=0;i<3;i++)
  {
  I2C_buf2[i]=readbyte(!lastbyte);
  }
  I2C_buf2[3]=readbyte(lastbyte);
  I2Cstop();
  
}

------解决方案--------------------
E2PROM的写读地址是A0/A1;
读E2PROM时,开始+器件写地址+单元地址+开始+器件读地址+读1字节。。。
  相关解决方案