In I2C communication from the master to the slave, each transferred byte consists 8 data bits sent by the master and 1 acknowledge bit sent by the slave. So after bit 8, the master releases the SDA line so the slave can take control of it.
If there is a some delay between the master releasing SDA and the slave taking control, none of the two parties controls the line and it's pulled high by the mandatory pull-up resistors. That's what is visible on your oscilloscope.
This is perfectly fine as the SCL line is low. SDA is only sampled when SCL is high.
我只能推测为什么它只发生在第一个字节。从机可能需要一些时间来比较接收到的地址并确定它是否是寻址的从机并必须做出响应。对于后面的字节,这不再需要,因为从机预先知道它是活动 I2C 通信的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句