新手学iic,卡了好几天,进度慢啊

2019-08-13 20:10发布

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;            
}
这个temp==0X55是啥啊,0X55有什么特殊含义吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
liuliupiaoxue
1楼-- · 2019-08-13 23:44
 精彩回答 2  元偷偷看……
MrXiong
2楼-- · 2019-08-14 03:10
0X55只是一个地址而已,其中可写的的地址范围是0~255,在程序中写的地址为0x55,这个函数是用来检查0x55这个地址有没有写数据,是为了避免单片机开启重复在0X55这个地址里写数据
旺仔奶豆
3楼-- · 2019-08-14 04:39
同意三楼说法
jermy_z
4楼-- · 2019-08-14 06:44
没有特殊含义,就是一个标志而已,逻辑看不懂码? 上电开机读取255地址的数据,如果是0x55,则证明AT24CXX是正常的,否则向255地址写入0x55,再读出来,如果相等,则AT24CXX是正常的。否则AT24CXX是不存在,或者坏了
青春梦飞翔
5楼-- · 2019-08-14 11:30
0x55 本身没有太大的含义,用其他的也可以(除了0x00 0xFF 要和变量初始化时的不一样),这段代码就是用来检查器件是否存在、读写是否正常的。
ZTO13
6楼-- · 2019-08-14 13:27
 精彩回答 2  元偷偷看……

一周热门 更多>