标题:
关于I2C应答 while ((SDA==1)&&(i<255))i++;
[打印本页]
作者:
xiao_gang
时间:
2018-7-17 21:39
标题:
关于I2C应答 while ((SDA==1)&&(i<255))i++;
while ((SDA==1)&&(i<255))i++;
这句意思是:主器件收到应答会退出while;或者在一定时间内没有收到应答会默认收到应答,也会退出while,反正主器件都是认为收到应答并且退出while,为什么不直接用一条delay延时函数?
I2C总线协议规定:每传送1字节数据后,都要有一个应答信号,已确定数据传送是否被对方收到。那要是对方没有收到传送的数据,没有产生应答信号,程序会怎样?
初学者 问题低级 不要笑话
回答文字量大没关系 谢谢
作者:
jerry_fuyi
时间:
2018-7-18 08:10
如果用delay,延时就是固定的,也无法知道有没有应答这句代码可以在收到应答后立即停止delay
如果立即应答,循环执行一两次就跳出来了,正常运行就应该是这样的
如果没收到应答的话,可能会再发一遍吧,也有可能再发一遍的逻辑需要自己写
作者:
tianqi911
时间:
2020-4-1 10:48
我翻了4本书至少,同样的程序段,但本质上为什么这样写,都没有注释的。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1