新手学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条回答
huanghan
1楼-- · 2019-08-14 15:36
还是先弄懂IIC协议先
烽烟愠梓
2楼-- · 2019-08-14 20:09
liuliupiaoxue 发表于 2017-9-26 20:26
注释已经说得很清楚了。0x55只是一个数据,写在地址255处。目的是check的时候,发现读取255地址的数据是0x5 ...

嗯,懂了,多谢大侠
烽烟愠梓
3楼-- · 2019-08-14 21:47
青春梦飞翔 发表于 2017-9-27 10:35
0x55 本身没有太大的含义,用其他的也可以(除了0x00 0xFF 要和变量初始化时的不一样),这段代码就是用来 ...

嗯,我试了,主要是看到0XA0有意义,还以为0X55也有什么功能呢
烽烟愠梓
4楼-- · 2019-08-14 23:54
huanghan 发表于 2017-9-27 19:53
还是先弄懂IIC协议先

嗯,还有个问题需要您帮一下,就是应答问题,不是8位传输完后就有一个应答嘛,这个传输既可以是主到从,也可以是从到主,但是应答信号编程时候就已经确定不变了IIC_Wait_Ack();        ,它里面始终是SDA_IN();这个IN是指主机的输入还是从机的输入啊,
烽烟愠梓
5楼-- · 2019-08-15 05:37
 精彩回答 2  元偷偷看……
烽烟愠梓
6楼-- · 2019-08-15 07:36
jermy_z 发表于 2017-9-27 10:20
没有特殊含义,就是一个标志而已,逻辑看不懂码? 上电开机读取255地址的数据,如果是0x55,则证明AT24CXX ...

嗯,还有个问题需要您帮一下,就是应答问题,不是8位传输完后就有一个应答嘛,这个传输既可以是主到从,也可以是从到主,但是应答信号编程时候就已经确定不变了IIC_Wait_Ack();        ,它里面始终是SDA_IN();这个IN是指主机的输入还是从机的输入啊,

一周热门 更多>