arduino i2c 如何写16位寄存器_第十二章 ESP读取SHT30的温湿度(I2C接口)

学习目的及目标

· I2C通信的原理

· 学习ESP32 的I2C功能的配置

· 掌握I2C读取SHT30的温湿度程序

I2C通讯协议简介

I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。下面我们分别对 I2C协议的物理层及协议层进行讲解。

· 物理层

2C通讯设备之间的常用连接方式通讯结构如下。

84f062ee89bf664f9322915db1b75d20.png

它的物理层有以下几个主要特点:

· 支持多设备的总线。"总线"指多个设备共用的信号线。在一个 I2C 通讯总线中,可连接多个 I2C通讯设备,支持多个通讯主机及多个通讯从机。

· 一个 I2C 总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线(SCL)。数据线即用来表示数据,时钟线用于数据收发同步。

· 每个连接到总线的设备都有一个唯一的地址,主机利用这个地址在不同设备之间的访问。

· 总线通过上拉电阻接到电源。当 I2C 设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用总线。

· 常用的速率:标准模式传输速率为 100kbit/s ,快速模式为 400kbit/s。

· 最近I3C出来了,性能提升大大的 。

协议层

I2C的协议定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节。

I2C 通讯过程的基本结构如下:

· I2C写格式

86adb1a2aa11b413b70af906898158a1.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值