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

相关推荐
ACP广源盛139246256732 小时前
IX8024@ACP# 搭配此芯 AI 服务器 + 爱芯元智产品完整方案
大数据·运维·服务器·人工智能·分布式·嵌入式硬件
ShallWeL3 小时前
NVIDIA Jetson 早期系列演进
人工智能·嵌入式硬件·边缘计算·智能硬件
2501_914245935 小时前
C语言与硬件交互:从GPIO到中断的嵌入式编程实践
c语言·单片机·交互
2401_854151555 小时前
嵌入式 Bootloader 与 OTA 固件升级深度解析——从 Flash 分区到安全回滚
开发语言·stm32·单片机·嵌入式硬件·安全·php
炸膛坦客6 小时前
单片机/C/C++八股:(二十四)编译文件( .bin 和 .hex ,包括 .elf 和 .axf )
c语言·c++·单片机
Yunhoa6 小时前
51单片机(DS18B20 数字温度传感器)
单片机·嵌入式硬件·51单片机
zlinear数据采集卡8 小时前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
Wallystech-Linda8 小时前
Exploring WiFi 7 Module Designs for Next-Generation Wireless Applications
嵌入式硬件
不上岸的旱鸭子10 小时前
PCB设计
单片机·pcb工艺
吠品10 小时前
多语言支持,从后台到前端我都趟过哪些坑
stm32·单片机·嵌入式硬件