关于IIC里开始信号和结束信号的问题

2019-08-16 20:36发布

void IIC_Start(void)
{
        SDA_OUT();   
        IIC_SDA=1;                    
        IIC_SCL=1;
        delay_us(4);
        IIC_SDA=0;//START:when CLK is high,DATA change form high to low
        delay_us(4);
        IIC_SCL=0;
}          

void IIC_Stop(void)
{
        SDA_OUT();
        IIC_SCL=0;
        IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
        delay_us(4);
        IIC_SCL=1;
        IIC_SDA=1;
        delay_us(4);                                                                  
}
这两个函数里的延时函数的作用是什么,为什么要设置成4us?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
lswhome
1楼-- · 2019-08-17 02:14
 精彩回答 2  元偷偷看……
lswhome
2楼-- · 2019-08-17 07:04
IIC的速度没那么快,所以必须延时,不然从机无法识别电平

一周热门 更多>