I2C基本电路结构

1、串口的缺点

STM32上串口通信接口少,而使用I2C则通信设备数量不受限制。

2、I2C总线的电路结构

SCL和SDA引脚结构:

**为什么所有的SCL和SDA引脚都设置为开漏输出:**是为了实现逻辑线与

当所有引脚都设置为开漏输出且每个SCL引脚都写1(写1的情况下每个引脚输出的是高阻抗,这样每个引脚就都从电路上断开了,那么中间的总线就悬空了),那么上拉电阻就会把总线拉到高电压。

当所有引脚都设置为开漏输出且除了从机2以外每个SCL引脚都写1(从机2写0表示输出低电压表示接地),那么总线就通过从机2接地,被拉到了低电压。

通信流程1(主机向从机1发送信息为例):

(1)主机发送从机1的地址与从机1建立通信。

(2)之后便可以向从机1发送消息。

通信流程2(从机2向主机发送信息为例):

(1)主机发送从机2的地址与从机2建立通信。

(2)之后从机2便可以向主机发送消息。

3、主机如何发送时钟信号

主机想要发送1时就往SCL(因为是时钟信号)发送1,这样SCL总线悬空就会被上拉电阻拉到高电平

主机想要发送0时就往SCL发送0,这样SCL总线就通过主机接地被拉到了低电平

4、主机如何发送数据

主机想要发送1时就往SDA(因为是数据)发送1,这样SDA总线悬空就会被上拉电阻拉到高电平

主机想要发送0时就往SDA发送0,这样SDA总线就通过主机接地被拉到了低电平

5、从机如何发送数据

从机想要发送1时就往SDA(因为是数据)发送1,这样SDA总线悬空就会被上拉电阻拉到高电平

从机想要发送0时就往SDA发送0,这样SDA总线就通过主机接地被拉到了低电平

相关推荐
IT方大同1 小时前
(实时操作系统)线程管理
c语言·开发语言·嵌入式硬件
意法半导体STM322 小时前
【官方原创】STM32H7双核芯片通过 STlink连接失败问题分析 LAT1654
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
夜星辰20232 小时前
MobaXterm会话窗口详解
嵌入式硬件·ssh·调试串口
BT-BOX3 小时前
第7章《Stm32CubeMX+Proteus仿真入门》--独立按键扫描
stm32·嵌入式硬件·proteus
广药门徒3 小时前
PADS 等长处理方法
嵌入式硬件
zd8451015003 小时前
ESP8266 MQTT连接onenet
stm32·单片机
3壹4 小时前
STM32按键检测与上拉电阻详解
c语言·stm32·嵌入式硬件
昵称只能一个月修改一次。。。4 小时前
【无标题】
单片机·嵌入式硬件
AI+程序员在路上5 小时前
新手进入嵌入式行业方法与方向选择
c语言·开发语言·单片机·嵌入式硬件
The️5 小时前
STM32F407 + LVGL 图形界面开源开发板
stm32·单片机·嵌入式硬件·开源·硬件工程·开源协议·pcb工艺