实验程序24C02的可以用到24C256吗?

2019-08-21 12:21发布

我的不能互用,
我改了实验程序中的 EE_TYPE 为AT24C256  标志字地址为32767
可是还是用不了

还有别的什么要改吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
35条回答
shmilcici
2019-08-22 22:16
发现问题出在哪里了
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));   //发送器件地址0XA0,写数据   

// IIC_Wait_Ack();     //EE_TYPE>AT24C16时 必须注释掉该句重复等待应答 否则IIC会发出结束信号
    IIC_Send_Byte(ReadAddr%256);   //发送低地址
IIC_Wait_Ack();     
IIC_Start();        
IIC_Send_Byte(0XA1);           //进入接收模式    
IIC_Wait_Ack();  
    temp=IIC_Read_Byte(0);    // send nACK & read data
    IIC_Stop();//产生一个停止条件     
return temp;
}

读写都一样的
多了一个IIC_Wait_Ack();   IIC停止了

一周热门 更多>