返回信息流直立组选择数字陀螺仪的可能会用到,这里简要介绍一下。
I2C是NXP的制定的串行通信协议。主要用于IC之间的数据交互。
几个概念:
主机:发起通信的一方
从机:被主机寻址的一方
发送器
接收器
应当注意的是,主机可能是发送器也可能是接收器,从机同理。
例如当IC1要发送信息给IC2,则此时本次通信是IC1发起的,因此IC1是主机。同时,信息由IC1发送,因此IC1是发送器,IC2是接收器。
另一种情况,如果IC1要让IC2发点信息过来,此时通信依旧是IC1发起的,因此IC1还是主机。但是这时,IC1就是接收器,而IC2就是发送器了。
总线特征:
两条线,一条是SCL(时钟线),SDA(数据线)。要求连接的引脚都必须是OC门或者OD门。
数据传输特征:
数据必须在SCL为低电平的时候改变,在SCL高电平的时候必须保持稳定。因为该协议通过SCL高电平时,数据线的变化来决定终止或者开始。
开始:SCL为高电平,SDA从高->低
终止:SCL为高电平,SDA从低->高
字节传输格式:
发送每个字节后必须跟一个响应位。首先传送MSB。
响应(ACK):
发送完一个字节后。主机产生一个响应时钟脉冲。发送器(不一定是主机)释放SDA,由接收器将SDA拉低,在响应时钟周期的高电平期间保持低电平。
不响应(NACK):
在响应脉冲周期,保持SDA为高电平。
如果主机是发送器,那么当从机无法接收数据后,会发回NACK,也就是不响应。此时主机应停止,或者重新寻址(其他器件)(等老子消化一下再来)
如果主机是接收器,那么当主机收到需要的所有数据之后,需发回NACK。然后发送停止信号。
这是一条镜像帖。来源:北邮人论坛 / smartcar / #237同步于 2017/4/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Smartcar机器人发帖
I2C协议简要介绍
Ncer
2017/4/1镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复