IIC通讯 分为如下几步走, 这几步, 不需要理解为什么, 记住即可,,因为是协议, 大家约定好的语言.
1. 开始数据传输: SCL为1时, SDA从1变动到0,表示开始传输数据.....
.2. 主机先发送一个字节 : 字节包含设备地址(高7位)和接下来的数据传输方向(最低位,0或者1).....
3. 从机应答: 一般称作ACK, 具体表示为, SDA 为高还是低 ? 需要主机去判断....
应答逻辑,,看上图..
4. 接下来就是主机不断地,在SDA总线上写一个字节的数据, 从机应答, 如此,循环往复....
5.通讯结束: 当我们想要结束的时候, 只需要在时钟线为高电平的期间, 拉高SDA线, 就表示本次通讯结束.
注意: 1. IIC是高位先传输, 与串口传输不同.
2. 当SCL为高期间,SDA应该保持不变,否则可能会被从机认为通讯结束.
后面有新的感悟 , 会再补充, 欢迎点赞, 分享,转载请注明出处..