u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN(); //SDA设置为输入
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;//时钟输出0
return 0;
}
IIC_Wait_Ack()函数中为什么把sda设成输入以后还执行IIC_SDA=1,这个时候sda端口相当于一个输入口,把sda设成1没用把
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
我也有这个疑问,IIC_SDA=1等于是PAout()=1,但是这个时候寄存器被设置为输入状态,这个PAout()还起作用吗,具体是怎么个机理……
一周热门 更多>