IIC总线解析

IIC总线是一种由飞利浦半导体设计的双向二线制串行总线,用于连接微控制器与各种设备。它包括两条线:SDA(数据线)和SCL(时钟线),支持多主机和多从机配置。STM32芯片内置硬件IIC模块,能自动处理时钟生成、起始终止条件、应答位和数据传输,简化了CPU的工作。在STM32的IIC发送和接收过程中,通过一系列的事件标志推进时序,实现与从机的通信。

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

IIC即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、高性能同步串行总线。具备多主机+多从机总线组网功能。

基本概念

IIC总线只有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL,IIC总线支持所有IIC工艺的制造的器件,所有连接IIC总线上的设备的串行数据都可以接到SDA数据线上。这些设备有存储器、LCD驱动器、AD转换器、DA转换器,也可以是计算机IIC总线通过上拉电阻(一般为4.7KΩ)接正电源,当总线空闲时,两根线均为高电平。

简单的说,IIC总线是一种半双工同步通信总线,其带有数据应答,支持总线挂载多设备(一主多从、多主多从)。在进行硬件连接时,所有I2C设备的SCL连在一起,SDA连在一起。SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右。软件配置时,设备的SCL和SDA均要配置成开漏输出模式。由下图可以清晰的看出其硬件连接方式:
在这里插入图片描述

IIC总线通信规则

起始位和终止位规定

起始位:时钟线SCL为高电平期间,数据线SDA由高电平向低电平变化,即出现一个下降沿。
终止位:时钟线SCL为高电平期间,数据线SDA由低电平向高电平变化,即出现一个上升沿。
在这里插入图片描述
如图,左边为起始位,右边为终止位。

数据传输基本单元

发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位先行),然后释放SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可发送一个字节
在这里插入图片描述

接收一个字节:SCL低电平期间,从机将数据位依次放到SDA线上(高位先行),然后释放SCL,主机将在SC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tao'note

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

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

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

打赏作者

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

抵扣说明:

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

余额充值