新手上路
- 积分
- 27
- 金钱
- 27
- 注册时间
- 2017-11-27
- 在线时间
- 4 小时
|
发表于 2017-11-27 15:13:21
|
显示全部楼层
大概说一下:
IIC协议的设置参数比串口通讯的要求低一些,IIC协议主要用于元器件之间的通讯,通讯距离比较短。
硬件上,IIC协议需要3根线,时钟SCL,数据SDA,公共端GND。
需要将用于IIC协议通讯的端口设置为开漏模式(硬件IIC可能不需要此设置),并通过上拉电阻接至VCC,上拉电阻是必须要有的(器件内部集成了上拉电阻外部才能省略)。
时钟和数据线的高电平相当于端口被释放(悬空),只是被上拉电阻拉为高电平。
当需要新增器件时,直接将新增器件的时钟和数据线接入已有总线,硬件上不需要改动。
IIC协议通讯时的时钟信号由主机提供,频率可以很低很低,频率也可以不是固定值,。
IIC协议通讯是主从模式,必然存在主机和从机,主机有绝对的控制权。
IIC协议通讯方向是双向的,通讯时的开始和停止信号及从机地址,读或写都是由主机指定。
IIC协议通讯发送或接收数据都是按字节传输,数据接收方接收完一个字节的数据后需要返回应答信号,否则就需要等待,或者认为传送失败,中止通讯或重新开始通讯。
IIC协议协议支持同时连接多个器件,从机必须要有地址。而主机的地址不是必须的(多主机通讯时才需要,那时候其实主机也只能称为从机了)
以上是我自己的理解,如果有歧义,请以IIC协议官方为准。
|
|