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

2019-08-21 12:21发布

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

还有别的什么要改吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
35条回答
shmilcici
1楼-- · 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停止了
正点原子
2楼-- · 2019-08-23 04:08
是的,就是这的问题.我新版的代码,这里应该改过来了啊.
niguanghui
3楼-- · 2019-08-23 07:01
没有,原子哥,我也是在这卡住了,我的开发板是13年8月份买的,现在项目上用的24C256,结果也卡住了,AT24CXX_WriteOneByte没有了那个应答,AT24CXX_ReadOneByte里面还有,我弄了1天没弄通,原来是这的问


题,待明天上班去测试~~~~ 我说怎么写的时候加的错误信息一个没打印出来,看来是写成功了,但是读是不对的。                                        
两米阳光
4楼-- · 2019-08-23 08:26
 精彩回答 2  元偷偷看……
镖叔
5楼-- · 2019-08-23 14:22
谢谢分享
合肥-文盲
6楼-- · 2019-08-23 17:49
谢谢分享,我也准备用AT24C256,mini板上的AT24c02是什么封装???SOIC-8还是TSSOP-8??

一周热门 更多>