【蓝桥杯单片机(15)】IIC通信协议

本文详细介绍了IIC通信协议,包括通信简介、数据传输的步骤,如总线启动和停止条件、应答/非应答信号的生成,以及主机发送和接收数据的过程。IIC总线使用两根双向信号线SDA和SCL,由主设备控制数据传输,从设备不能主动发起。文章还阐述了应答信号的检测和非应答信号的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、IIC通信简介

I2C总线是PHLIPS(飞利浦)公司推出的一种串行(集成电路总线)总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。 I2C总线有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。
I2C总线通过上拉电阻(阻值为1k8 时性能最好)接正电源。当总线空闲时,两根线均为高电平。通常将SDA、SCL均置为1,用来释放总线。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是所有器件输出到该线路上的信号相“与”的结果)即如果一方输出低,另一方即使输出高也不能使SDA为高,相当于,输出低的一方占住了SDA口,所以两个口一个输出高一个输出低,则线上电平是低的。这是因为输出高的驱动能力不及输出低的拉电流的能力。这使得每次IIC总线都能从多个IIC从机设备中选择一个进行通讯。
在这里插入图片描述
从设备不能主动发起传输,其传输是受到主设备控制的。所以主机读从机时,需先由主机向从机发读命令,然后由从机发送数据到主机。

2、IIC通信数据传输

只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化,所以在向SDA送数据之前,要将SCL置为低,等待数据稳定后,将SCL置为高,再进行读写。

2.1总线启动条件

初始化时(总线空闲)SCL、

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小谦·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值