4.2 I2C通信协议

1. I2C通信的基本流程

2. I2C的数据帧格式

对于串口一次只能传输8-9个比特位

而I2C总线一次可以传输多个字节

3.起始位和停止位

所谓起始位就是SCL高电压的时候,SDA出现下降沿,而停止位就是SCL高电压的时候,SDA出现上升沿

4.寻址

RW是方向位,Read Write ,写是0读是1,主机发送完之后,就会等待被寻址的从机给它应答,从机会发送一个ACK来应答,这个ACK应答信号相当于主机叫从机的名字,从机答到。当主机收到ACK之后就意味着主机寻址成功了,才会进入下一步数据传输阶段

主机首先释放SDA,也就是SDA引脚写1,当主机给SDA写1的时候,那这个SDA就会从总线上的SDA断开,这条线就悬空了,但是由于上拉电阻的作用,那这条SDA呈现高电压,如果没有设备应答它的时候,就始终维持高电压,这时候就等于没有收到应答信号。而如果有设备应答它的时候,这个设备就会把它重新拉低,那主机就会检测到一个低电压,主机只要检测到了低电压,就知道收到这个ACK了

5.传输数据

当寻址阶段成果之后,下一阶段就可以传输数据,传输数据一次性可以传输多个字节,发送方发一个字节,接收方就回复一个ACK

6.例子

从机0x20读一个字节(0x64),注意最后并没有发送ACK,因为只发送一个字节,就不需要发ACK了,也就是NAK

相关推荐
Arciab15 小时前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
清风66666618 小时前
基于单片机的多功能智能婴儿车设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
码咔吧咔18 小时前
STM32芯片简介,以及STM32的存储器映射是什么?
stm32·单片机·嵌入式硬件
别掩20 小时前
MOS防倒灌电路设计
单片机·嵌入式硬件
夜流冰20 小时前
EE - 电容电感电路中电流的变化
单片机·嵌入式硬件
橙露21 小时前
STM32中断配置全解析:从寄存器到HAL库的实战应用
stm32·单片机·嵌入式硬件
c-u-r-ry3021 小时前
ZYNQ7 Processing System各个配置界面介绍
嵌入式硬件
idcardwang1 天前
esp32s3-pwm介绍与stm32的不同原理
单片机·嵌入式硬件
码咔吧咔1 天前
Flash 是什么?SRAM 是什么?它们的作用、特点、区别、在 STM32 中如何使用?
stm32·嵌入式硬件
LaoZhangGong1231 天前
学习TCP/IP的第1步:ARP数据包
网络·stm32·学习·tcp/ip·以太网·arp·uip