初级会员

- 积分
- 57
- 金钱
- 57
- 注册时间
- 2016-8-25
- 在线时间
- 8 小时
|
1金钱
u8 AT24CXX_ReadOneByte(u16 ReadAddr)
{
u8 temp=0;
IIC_Start();
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0);
IIC_Wait_Ack();
IIC_Send_Byte(ReadAddr>>8);
IIC_Wait_Ack();
}else IIC_Send_Byte(0XA0+((ReadAddr/256)<<1));
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;
}
请问,上面红色字体,进入接收模式,为什么不用进行02/04/08/16/32等类型的判断的
应该对于04/08/16类型的发的字节不一定是0xA1吧。是不是应该进行下面这样的判断???
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA1);
}else IIC_Send_Byte(0XA1+((ReadAddr/256)<<1));
|
|