IIC实验中检查AT24CXX是否正常时为什么是判断返回的值是否为0x55?还有,如果是其他的芯片是将255换为最大地址长度减1吗?

2019-08-13 21:35发布

IIC实验中检查AT24CXX是否正常时为什么是判断返回的值是否为0x55?还有,如果是其他的芯片是将255换为最大地址长度减1吗?
u8 AT24CXX_Check(void)
{
        u8 temp;
        temp=AT24CXX_ReadOneByte(255);                        
        if(temp==0X55)return 0;                  
        else
        {
                AT24CXX_WriteOneByte(255,0X55);
            temp=AT24CXX_ReadOneByte(255);         
                if(temp==0X55)return 0;
        }
        return 1;                                                                                          
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-08-13 23:45
这个0X55是随意定义的.你可以设置其他值.   其他芯片,换最后一个地址,可以的.
Riario14
2楼-- · 2019-08-14 03:26
正点原子 发表于 2016-1-9 21:43
这个0X55是随意定义的.你可以设置其他值.   其他芯片,换最后一个地址,可以的.

请问原子哥 有什么办法可以知道板载芯片型号???
烽烟愠梓
3楼-- · 2019-08-14 07:36
大兄弟,这个程序的逻辑是则么回事啊?我就感觉这个程序根本就到达不了 return 1 啊,每次检测如果不是0x55不就进入else 了吗,else里边又一定是返回return 0 的,所以根本到达不了 return 1 啊?这样理解哪里出粗了?

一周热门 更多>