高级会员

- 积分
- 598
- 金钱
- 598
- 注册时间
- 2012-6-18
- 在线时间
- 7 小时
|

楼主 |
发表于 2012-9-18 11:49:50
|
显示全部楼层
if(EE_TYPE>AT24C16) //AT24C16-2047 EE_TYPE-255
{
IIC_Send_Byte(0XA0); //发送写命令 AT24C02的芯片地址为1010
IIC_Wait_Ack();
IIC_Send_Byte(ReadAddr>>8);//发送高地址
}
else
IIC_Send_Byte(0XA0+((ReadAddr/256)<<1)); //发送器件地址0XA0,写数据
IIC_Wait_Ack();
IIC_Send_Byte(ReadAddr%256); //发送低地址
IIC_Wait_Ack();
IIC_Start();
IIC_Send_Byte(0XA1); //进入接收模式
IIC_Wait_Ack();
temp=IIC_Read_Byte(0);
IIC_Stop();//产生一个停止条件
return temp;
在这里看到0XA1了 每次读写之前都要先发一个地址,这个地址是找到读写的位置,在进行读写操作,应该是这样的吧。。呵呵
|
|