IIC代码理解问题:停止信号代码

2019-08-13 19:46发布

void IIC_Stop(void)
{
        SDA_OUT();//sda线输出
        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;//发送I2C总线结束信号
        delay_us(4);                                                                  
}
这个代码中的第三行,解释是说:when CLK is high DATA change form low to high,那不是意味着起始状态IIC_SCL=1;但是为什么代码中写的为IIC_SCL=0;
新手小白初学,问的问题太水,忘大家包涵,也希望大神能回答下小弟的疑问,小弟不甚感激。




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
shuaigew88
1楼-- · 2019-08-13 23:00
本帖最后由 shuaigew88 于 2017-9-25 13:05 编辑

CLK=1是不可能的,起始信号之后的任何数据发送和接收完成后CLK都必须保持低电平,直到停止信号后CLK才能保持高。简单的说就是CLK=1时不允许SDA有任何电平变化。
大白2017
2楼-- · 2019-08-14 00:23
 精彩回答 2  元偷偷看……

一周热门 更多>