急! I2C主机等待从机应答时从机SDA线的数据问题
时间:10-02
整理:3721RD
点击:
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就应答了?
你可以在第8个数据发送完之后拉高SDA啊,等待从机应答。如果没有应答则视为发送失败,要重新发送数据。
谢谢 ,明白了