stm32学习笔记---i2c学习
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Ω左右