【STM32 Blue Pill编程实例】-I2C主从机通信(中断、DMA)
I2C主从机通信(中断、DMA)
文章目录
- I2C主从机通信(中断、DMA)
-
- 1、STM32的I2C介绍
- 2、I2C模式
- 3、STM32 I2C 数据包错误检查
- 4、STM32 I2C 错误情况
- 5、STM32 I2C中断
- 6、STM32 I2C 主发送和接收(Tx 和 RX)
-
- 6.1 I2C 轮询模式
- 6.2 I2C 中断模式
- 6.3 I2C DMA 模式
- 6.4 STM32 I2C 设备存储器读/写
-
- 6.4.1 主数据发送
- 6.4.2 设备内存写入
- 7、在STM32CubeMx中配置I2C
- 8、STM32 I2C HAL API
-
- 8.1 阻塞模式下的数据发送和接收
- 8.2 中断模式下的数据发送和接收
- 8.3 DMA 模式下的数据发送和接收
- 8.4 设备内存写入/读取
在本文中,我们将介绍 STM32 I2C 通信模式、硬件概述和功能、I2C 中断、处理主设备和从设备的 I2C 事务,包括针对不同 I2C 模式的 I2C HAL API。
1、STM32的I2C介绍
在本节中,我们现在重点介绍 STM32 的 I2C 硬件模块,包括其功能、操作模式和数据传输。
I2C 总线充当 STM32 板和 I2C 串行总线之间的接口。 它负责控制所有 I2C 总线时序和排序以及多主机功能。 STM32片上IC支持I2C总线的标准和快速模式。
下图是STM32中I2C模块的框图。
该模块由移位和数据寄存器以及 DMA 请求、ACK 和中断的控制逻辑组成。 I2C 事务步骤全部处理,包括地址匹配检查、时钟控制、噪声滤波器、错误检查等。
主要特性
让我们列出 STM32 I2C 协议的一些主要特性:
- 具有多主功能,这意味着它既可以充当主设备,也可以充当从设备
- I2C 主设备具有时钟、启动和停止生成功能。</