求解:IIC驱动程序中总线上为什么读取数据比写数据要多写一个字节的设备地址

求解:IIC驱动程序中总线上为什么读取数据比写数据要多写一个字节的设备地址,第1张

因为I2C在读数据的时候实际败旅上是两次传输,第一次传输向设备发送需要读取的寄存器地址(实际的写 *** 作),然后读取数据(早歼实际的读 *** 作);而写 *** 作直接就是把寄存器地址和需陆枯冲要写进去的数据当做一次传输进行(实际的写 *** 作)。可以用示波器看看数据线上的数据。

楼主错了,51单裤陆蠢片机是没有集成I2C模块的,那是用普通的胡陪IO口去模拟的I2C的时序,所以就需要把IO口随时的变化悉兆成需要的电平,而ARM或者其他的,单片机里集成了IIC模块,你只需要把寄存器设置好了,由模块自己按照标准的IIC协议执行。


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

原文地址: http://outofmemory.cn/yw/12446189.html

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

发表评论

登录后才能评论

评论列表(0条)

保存