I2C通讯协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I2C通讯协议相关的知识,希望对你有一定的参考价值。

CAN总线和I2C(Inter-Integrated Circuit)总线都是用于设备间通信的串行通信总线协议,但两者有以下不同点:

  1. 用途不同:CAN总线通常用于工业控制、汽车网络等高可靠性应用,而I2C通常用于低速控制和数据传输。
  2. 速率不同:CAN总线速率可以高达1 Mbps,而I2C总线通常在400 Kbps以下。
  3. 线路不同:CAN总线使用双绞线,I2C总线则可以使用双线、三线和四线架构,其中最常见的是双线架构。
  4. 地址机制不同:CAN总线使用11位或29位标准帧标识符来识别设备,而I2C总线使用7位或10位设备地址来寻址。
  5. 工作方式不同:CAN总线是多主机环境下的异步通信协议,而I2C总线通常在单主机环境下的同步通信协议。

总的来说,虽然CAN总线和I2C总线都是串行通信协议,但它们的应用场景和特点有所

IIC

(Inter-Integrated Circuit)

写数据

一帧数据

I2C通讯协议_写数据

I2C通讯协议_数据_02

起始位

I2C通讯协议_数据_03

时钟必须为高电平

数据由高到低的下降沿


设备地址码(七位)

可表示128种结果

I2C通讯协议_位或_04

逻辑1和逻辑0表示

I2C通讯协议_数据_05

逻辑1 数据和时钟都为高电平

逻辑0 时钟保持高电平,数据为低电平


读写数据位

写数据0

读数据1

应答信号

0:收到 

1:未收到或读取完成

I2C通讯协议_位或_06

寄存器地址(8位)

可访问256字节

数据位(8位)

I2C通讯协议_位或_07

停止位

I2C通讯协议_数据_08

读数据

I2C通讯协议_写数据_09

原理同写数据

是读数据还是写数据由读写数据位决定的


esp32无协议通讯

ESP32无协议通讯是指无线系统中没有任何协议约定的无线通信,一般使用蓝牙、WIFI等无线技术实现。ESP32支持多种无线通信技术,可以用于高速、低功耗、大范围内的无线通信。它可以支持自定义协议、数据通信、地理定位等多种场景,实现自定义的无协议通讯。 参考技术A 1 可以实现无协议通讯。

2 ESP32支持Wi-Fi和蓝牙无线通讯技术,可以通过TCP/UDP协议进行数据传输。
同时,ESP32还可以通过UART、I2C、SPI等接口进行有线通讯,可以直接传输二进制数据,不需要事先定义协议。

3 无协议通讯虽然可以提高数据传输效率,但也存在数据安全和稳定性等问题,建议在实际应用中根据需求综合考虑。

以上是关于I2C通讯协议的主要内容,如果未能解决你的问题,请参考以下文章

I2C通信时序图解析

嵌入式系统通讯协议

IIC通信协议

两个51单片机如何通过i2c通讯?

通俗易懂的IIC协议讲解

求助STM32 I2C主机与一个从机通讯成功 与多个从机通讯失败