关于iic总线。看过很多资料,很多都相互矛盾。在主机读取数据之前,是否需要拉高sda=1问题很长,看补充

关于iic总线。看过很多资料,很多都相互矛盾。在主机读取数据之前,是否需要拉高sda=1问题很长,看补充,第1张

我的理解是,读数据的时候,是从机控制总线,因此必须提前把sda释放(也就是拉高)。否则从机将不能改变总线。sda为1后,主机控制scl=1,然后,从机根据自己要发送的数据选择将sda置为1或0(即在scl=1时,从机改变sda)。

而在发送数据时,主机控制总线,在scl=0时,sda被主机改变;scl=1时,sda不变,并被从机读取。(scl=0时,主机改变sda)

应答时,相当于读取一位数据,同样是在scl=1时,由从机改变sda。

而起始、结束时,是由 主机 控制sda。在scl为1时,sda的任何改变都将被视为起始、终止信号。

个人理解,如有错误请赐教!

ps 当然也可以理解为 在读取时仍然是在scl=0时,从机改变sda,不过也不影响逻辑,怎样容易怎样理解呗

不是的,他无法判断你从哪读取,

读数据,首先为起始信号-》从地址(最后一位为W写)-》重复起始信号

-》从地址(最后一位为R读)-》存放的寄存器地址或读的数据地址->

读到的数据。

这么个过程。不懂的可以接着问。

建议好好看下IIC时序图就明白了

以上就是关于关于iic总线。看过很多资料,很多都相互矛盾。在主机读取数据之前,是否需要拉高sda=1问题很长,看补充全部的内容,包括:关于iic总线。看过很多资料,很多都相互矛盾。在主机读取数据之前,是否需要拉高sda=1问题很长,看补充、IIC数据读取问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10640217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存