单片机/MCUwilliam hill官网
直播中

xieyang

11年用户 294经验值
擅长:可编程逻辑 接口/总线/驱动
私信 关注
[问答]

急! I2C主机等待从机应答时从机SDA线的数据问题



I2C主机等待从机应答时从机SDA线的数据问题
/******应答信号*********/
void response()
{
        uchar i;
    i=1;
        scl=1;
        delay();
        while((sda==1)&&(i<250))i++; //条件其中任意一个为假即跳出
        scl=0;
        delay();
}

如题,例子中主机等待255次若从机还没将SDA拉低应答,则默认应答是怎么回事?应该是默认非应答(高电平1)啊,,还有当传送数据的时候,在第8个时钟(也就是传送数据得最后一位)SDA是0。那第9个时钟时,不用从机拉低sda就应答了?

回帖(2)

辉辉

2013-5-17 16:24:50
你可以在第8个数据发送完之后拉高SDA啊,等待从机应答。如果没有应答则视为发送失败,要重新发送数据。
举报

xieyang

2013-5-17 16:50:12
本帖最后由 xieyang 于 2013-5-18 10:14 编辑
引用: wenhui8813 发表于 2013-5-17 16:24
你可以在第8个数据发送完之后拉高SDA啊,等待从机应答。如果没有应答则视为发送失败,要重新发送数据。 ...


谢谢 ,明白了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分