iic学习心得

iic通信协议是市面上比较常用的协议,主要是由两根通信线,一根是SCL、一根是SDA,分别表示串行时钟线和串行数据线。可支持总线挂载多个设备,是一个同步半双工的

然后iic是不允许从机控制SCL线,所以在主机对从机有着绝对的控制权。在设备线路上SDA和SCL添加一个上拉电阻是为了防止总线的SDA没协调好主机和从机的时间,因此设备需要配置位开漏输出模式。

时序基本单元

为了能识别不同发送的信息和主机从机之间的通信,在两条线之间设置了时序来,来识别。

起始条件:在SCL高电平期间SDA从高电平转到低电平,这句话表示在SCL位高电平时SDA如果从高电平转位低电平就是表示启动后续的时序。

终止条件:在SCL高电平期间SDA从低电平转为高电平。同上面起始条件原理类似,就是将SDA从高电平转换为低电平引发终止条件。

发送字节:SCL低电平期间,主机将数据位依次放在SDA线上,然后释放SCL,从机在SCL高电平期间读取数据位,期间SDA不允许有数据变化,,一直循环8次一个字节发送完毕。

表示SCL为低电平期间主机发送数据在SDA,接着SCL拉高从机开始读主机发送的数据,所以在SCL为低电平期间主机发送的SDA 不允许数据发生变化,不然会导致后面的从机读取数据错误

接受字节:SCL低电平期间,从机将数据放在SDA 上,然后在释放SCL,主机在SCL高电平期间读取从机发送SDA数据,然后释放SDA

表示为SCL低电平期间,从机发送数据在SDA上,然后SCL拉高,主机开始在SCL高电平期间读取SDA 数据。

发送应答:主机在接收完一个字节之后,在下一个时钟发送一位数据,数据0表示应答数据1表示非应答

接受应答:主机发发送完一个字节之后,在下一个时钟接收一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答,数据在接收之前需要释放SDA

总结:从机或主机发送完字节,主机来应答SCL高电平,来判断SDA1或0来确认发送和接收

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值