IIC协议相关

IIC协议是一种简单有效的半双工同步通信方式,占用空间小,支持多主控。它由两根线——数据线SDA和时钟线SCL构成,允许最多40个组件以10Kbps速率通信。传输过程中涉及开始、结束和应答信号,确保数据准确传输。在发送字节时,需注意SCL在低电平时传输数据。
摘要由CSDN通过智能技术生成

一.IIC协议初识

IIC(集成电路总线),半双工同步通信方式

*特点

1.简单性和有效性

由于接口直接在组件之上,因此IIC总线占用的空间特别小,减少了电路板的空间和芯片管脚的数量,降低了互联成本,总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。

2.多主控

其中任何能够进行发送和接收的设备都可以成为主线,一个主控能够控制信号的传输和时钟频率。当然,在任何 时间点上只能有一个主控。

*构成

IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL,其时钟信号是由主控器件产生。所有接到IIC总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线SCL上对于并联在一条总线上的每个IC都有唯一的地址。

二.IIC协议

IIC总线在传输数据的过程中一共有三种类型信号,分别为:开始信号、结束信号和应答信号,这些信号中,起始信号是必须的。

 根据时序图我们可以写出这些:

:_nop()_执行这个语句耗时5us. 

三.IIC协议发送一个字节的函数封装

我们在发送字节之前先看看数据发送的时序是怎样的?

 注:列出这张图就是要提醒,我们每传一bit数据时,要保证scl处于低电平状态,因为scl处于高电平状态时,会被误认为是起始信号或者停止信号(scl=1)。

函数封装: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值