【STM32】I2C通信—硬件外设
【STM32】I2C通信—硬件外设
- 一、硬件资源STM32内部的 I2C 外设
- 二、内部 I2C 外设的结构图
- 三、I2C 基本结构
- 四、主机发送与接收
- 4.1 主机发送
- 4.2 主机接收
- 五、软件/硬件波形对比
一、硬件资源STM32内部的 I2C 外设
- 通过通信协议的时序,可以根据该协议的规定,去翻转通信引脚的高低电平
- STM32 内部集成了 I2C 收发电路,可以由硬件自动执行时钟生成,起始终止条件生成,应答位收发、数据收发等功能,减轻 CPU 负担
- 支持多主机模式
- 支持 7 位 / 10 位地址模式
- 支持不同的通讯速度,标准速度高达 100kHz,快速高达 400kHz
- 支持 DMA,可以在多字节传输时提高传输效率
- 兼容 SMBus 协议,SMBus 系统管理总线
- STM32F103C8T6 硬件资源有:I2C1,I2C2
二、内部 I2C 外设的结构图
三、I2C 基本结构
GPIO复用模式与通用模式区别:通用时控制权交给GPIO引脚(软件模拟IC2),复用时控制权交给片上外设(硬件外设I2C)
四、主机发送与接收
写程序需要按照序列图完成
4.1 主机发送
4.2 主机接收
五、软件/硬件波形对比
- 硬件I2C的波形会更加规整,每个时钟的周期、占空比都非常一致,而软件I2C由于操作引脚之后,都加了延时,因此每个时钟的周期,占空比不规整,但由于I2C是同步时序,影响不大
- SCL低电平写,高电平读,保证尽早的原则,直接SCL下降沿写,上升沿读
有关【STM32】I2C通信—硬件外设就到这,希望对你有所帮助,感谢观看!
码文不易,留个赞再走吧~