新手学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条回答
烽烟愠梓
1楼-- · 2019-08-16 11:37
烽烟愠梓 发表于 2017-10-6 20:52
那已经向255写入0x55了,再读出来还有可能不是0x55?能不能简单说明一下吗,谢谢大神

这个程序的逻辑是则么回事啊?我就感觉这个程序根本就到达不了 return 1 啊,每次检测如果不是0x55不就进入else 了吗,else里边又一定是返回return 0 的,所以根本到达不了 return 1 啊?这样理解哪里出粗了?
烽烟愠梓
2楼-- · 2019-08-16 17:31
烽烟愠梓 发表于 2017-10-6 20:43
那已经向255写入0x55了,再读出来还有可能不是0x55?能不能简单说明一下吗,谢谢大神

这个程序的逻辑是则么回事啊?我就感觉这个程序根本就到达不了 return 1 啊,每次检测如果不是0x55不就进入else 了吗,else里边又一定是返回return 0 的,所以根本到达不了 return 1 啊?这样理解哪里出粗了?
大兴
3楼-- · 2019-08-16 19:17
 精彩回答 2  元偷偷看……
MrXiong
4楼-- · 2019-08-17 01:06
大兴 发表于 2017-10-12 10:28
0x55应该是一个校准位吧 应该是一个值

是的,我弄错了,0X55是一个数据,用来防止重启重复写数据,谢谢指错。

一周热门 更多>