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没用把
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
学会STM32的IO先。
好好看看我们的教程,按键输入实验。就知道在输入模式下,ODR可能有什么用!
一周热门 更多>