IIC原理和时序

IIC具有有两根线一根时钟线(SCL)一根数据线(SDA)。主设备发送地址和控制时钟 从设备相应主设备命令

IIC原理和时序_第1张图片

1、地址寻址

每个从设备都有唯一的地址,主设备通过地址来选择要通讯的从设备

2、数据传输

发送数据以字节为单位传输,每字节后跟一个ACK和NACK。

3、时序

 ①  时钟线为高电平的时候,数据线变为低电平开始通讯

 ②  主设备发送一个7位或者10位的地址,第八位用来表示读或写。

 ③从设备接收到地址后发送一个高低电平来表示接受或拒绝

  ④主设备或从设备发送8位数据后每字节后发送ack或者nack

  ⑤时钟线为高电平时,数据线拉高结束通讯

I2C写操作

流程如下:

  1. 开始。
  2. 发送设备地址,等待从设备响应
  3. 发送寄存器地址,等待从设备响应
  4. 发送一个字节,等待从设备响应。这个操作是循环执行,直到没有数据。
  5. 停止。

I2C读流程

流程如下:

  1. 开始。
  2. 发送设备地址(写地址),等待从设备响应
  3. 发送寄存器地址,等待从设备响应。
  4. 开始
  5. 发送设备地址(读地址),等待从设备响应
  6. 接收一个字节,发送响应给从设备。这个操作是循环执行,直到没有数据。当是最后一个数据时,发送空响应。
  7. 停止。

你可能感兴趣的:(单片机,stm32,51单片机,嵌入式硬件,mcu)