新手入门
- 积分
- 8
- 金钱
- 8
- 注册时间
- 2017-10-29
- 在线时间
- 0 小时
|
5金钱
看了正点原子的iic通信实验后,自己照着里面的思路写了一个,但总是不成功,已经仔细对照好几遍了,真的不知道哪里错了,代码很少,能帮忙看一下的话我很感激。文件在附件里。另外,关于如何接受应答信号的部分,为什么要写成这个样子呢?:
u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN(); //SDAéèÖÃÎaêäèë
IIC_SDA=1;delay_us(1);
IIC_SCL=1;delay_us(1);
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return 1;
}
}
IIC_SCL=0;//ê±Öóêä3ö0
return 0;
}
怎么感觉这一句是多余的呢:IIC_SCL=1;delay_us(1); 我只要设置数据线为输入,然后把时钟线拉高,应该就能接收到24c02的低电平应答信号了呀,为什么要把数据线的输出数据寄存器写为1呢?
|
|