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总线就通过主机接地被拉到了低电平

相关推荐
悠哉悠哉愿意10 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_110110 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元10 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-1873661339710 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z203483152010 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
Alaso_shuang10 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟10 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_9181269110 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z203483152010 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机
星马梦缘10 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动