今天讲的IIC通信 包括 硬件 片内硬件 协议 硬件初始化 应用程序 主要介绍I2C总线协议
硬件:有两根线 SCL(时钟) SDA(数据)
协议:包括 空闲状态 开始信号 停止信号 应答信号 数据的有效性 数据传输
SCL SDA 功能
高 高 总线的空闲状态
高 上升 总线发送停止信号
高 下降 总线发送起始信号
*** 只有SCL为低电平才可以改变数据 高电平保持数据线上数据(唯一在高电平期间可以改变的 只有开始和停止信号)
应答(ACK):就是校验 主 从设备之间是否接收数据成功 没成功非应答(NACK). 每8位发送校验位。
数据传输有效性:数据在SCL的上升沿到来之前就需准备好。并在在下降沿到来之前必须稳定。
数据传输:按字节传输+一个应答=9帧 I2C数据传输首先传送需要访问设备的首地址
格式为:7位地址+一位传输方向+一位校验位
然后在传输数据 总线的传输数据方向有 主传输数据给从设备和从传输给主设备 他们的访问从设备的首地址格式一样 在传输有效数据的应答位不一样 (如图)
其次 用程序模拟I2C的信号。