IIC问题

2019-07-21 05:23发布

//检查AT24CXX是否正常
//这里用了24XX的最后一个地址(255)来存储标志字.
//如果用其他24C系列,这个地址要修改
//返回1:检测失败
//返回0:检测成功
u8 AT24CXX_Check(void)
{
        u8 temp;
        temp=AT24CXX_ReadOneByte(255);//避免每次开机都写AT24CXX                          
        if(temp==0X55)return 0;                  
        else//排除第一次初始化的情况
        {
                AT24CXX_WriteOneByte(255,0X55);
            temp=AT24CXX_ReadOneByte(255);          
                if(temp==0X55)return 0;
        }
        return 1;                                                                                          
}
为什么检查这个位?temp=AT24CXX_ReadOneByte(255)。
读取的这个位为什么是这个值呢?temp==0X55。
求大神帮忙一下。。。。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
lvb
1楼-- · 2019-07-21 10:46
不是写的很清楚了吗?
为什么检查这个位?//这里用了24XX的最后一个地址(255)来存储标志字.//检查AT24CXX是否正常
读取的这个位为什么是这个值呢? AT24CXX_WriteOneByte(255,0X55); 写了0x55读出来当然是0x55
只是在AT24CXX  最后一个地址写标志 使用前进行读写,能正常读出来就说明一切正常,可以使用

一周热门 更多>