OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2694|回复: 0

AT24Cxx指定地址读数据问题

[复制链接]

5

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2016-8-25
在线时间
8 小时
发表于 2016-8-25 11:08:04 | 显示全部楼层 |阅读模式
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();//2úéúò&#187;&#184;&#246;í£&#214;1ì&#245;&#188;t            
        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));

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-30 13:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表