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

相关推荐
ytttr8733 小时前
STM32 读写 SD 卡源码(SPI 模式 + FATFS 文件系统)
stm32·单片机·嵌入式硬件
Quinn273 小时前
正点原子 STM32MP257 修复异核 FreeRTOS+OpenAMP 例程里 SysTick 延时异常的问题
stm32·嵌入式硬件·正点原子·arm linux
Deitymoon3 小时前
STM32——OLED显示图片
stm32·单片机·嵌入式硬件
深圳英康仕3 小时前
龙芯2K3000嵌入式工控机的技术拆解:算力、接口与国产系统适配
嵌入式硬件·工控机·工业计算机·国产工控机·龙芯2k3000
山木嵌入式3 小时前
STM32 UART串口通信协议与3种底层驱动实现(寄存器/标准库/HAL库)
stm32·单片机·串口·uart
Heartache boy3 小时前
野火STM32_HAL库版课程笔记-I2C介绍
笔记·stm32·单片机
Deitymoon3 小时前
STM32——OLED显示汉字
stm32·单片机·嵌入式硬件
狮驼岭的小钻风3 小时前
单片机启动流程与 .s 文件详解
单片机·嵌入式硬件
金色光环3 小时前
【DSP学习笔记】 F28335中断系统理解-基于普中DSP28335开发攻略
笔记·单片机·学习·dsp开发
iCxhust3 小时前
8086/8088单板机VSCode集中环境开发编译(第二版整理)
ide·vscode·嵌入式硬件·编辑器·嵌入式·微机原理·8086最小系统