stm32学习笔记---i2c学习

发布时间 2023-03-26 23:05:58作者: codeaholic

stm32学习笔记---i2c学习

1、半双工,不能同时发送数据,一个设备发送另一个设备接受

2、接受到数据有有应答

3、能够挂在多个模块,且通信之间不受干扰,支持一主多从,多住多从

4、有两根通信线:scl,cda(serial clock ,serial data)采用同步时序(加一根clk线)通信,主设备可以发送数据时,进入其他中断程序,暂停发送数据(此时时钟线暂停),从设备通过时钟线知道现在是暂停发送数据状态。

使用同步时序就可以降低,单片机对硬件电路的依赖,进而可以使用软件程序模拟时序。如异步串口通信, 需要usart电路的支持。

这里谈到了异步时序,可以讲一讲,它的优点就是可以省一根时钟线,缺点就是对时间要求严格,对硬件电路的依赖较高,同步时序的优缺点就是反过来。

 

硬件电路连接之前所要了解的事:

一主多从模式,主设备完全控制scl时钟线,从设备只能被动接受scl,

当主设备发送读取从机的命令后或者从设备应答之后,从设备将短暂获取SDA的控制权 

硬件电路连接:

1、所有I2C设备的SCL连在一起,SDA连在一起

2、设备的SCL和SDA均要配置成开漏输出模式

2、SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右