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

2019-08-21 12:21发布

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

还有别的什么要改吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
35条回答
合肥-文盲
2019-08-24 10:46
回复【23楼】正点原子:
---------------------------------
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停止了

一周热门 更多>