目录
IIC总线协议
IIC前置
介绍
Inter Integrated Circuit ,集成电路总线,是一种同步(有时钟) 串行 半双工 通信总线。
IIC总线 IIC协议,两者都是指IIC,总线偏硬件,是传输数据通道,协议偏软件,是传输数据的规则。
IIC硬件软件区别
IIC总线拓扑图
- 第三点,每个器件都有自己的电容,fSCL 的频率是数据传输速率
IIC协议
IIC协议时序
-
主机释放SDA给从机后,主机确认应答信号。应答信号时双向的
-
空闲的时候,才可以发送起始信号
代码编写
起始信号
-
在IIC_SCL(1)之前拉高SDA,IIC_SDA(1),
-
iic_delay(),该延时由具体的器件决定,即从机,
-
看器件手册,fLOW +fHIGH 的最小值,周期要再乘2,还有写输入的缓冲时间,tWR ,没有写缓冲时间会导致只写入一个。
-
-
再拉低SDA,IIC_SDA(0),加iic_delay,这样会生成起始信号的波形:SCL置1,SDA从1跳变0。
-
IIC_SCL(0),再拉低时钟线,准备发送数据,结合波形看。
停止信号
-
停止信号:SCL置1,SDA从0跳变<