本文主要是介绍IIC总线协议讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. I2C总线在传送数据过程中共有三种类型信号:开始信号、结束信号和应答信号
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,表示START。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,表示STOP。
应答信号:接收数据的Slave在接收到8bit数据后,向发送数据的Master发出特定的低电平脉冲,表示已收到数据。
2. I2C位传输 数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据;
若SDA发生跳变,则用来表示一个会话的开始或结束
数据改变:SCL为低电平时,SDA线才能改变传输的bit
3. I2C写流程
写寄存器的标准流程为:
(1. Master发起START
(2. Master发送I2C addr(7bit)和w操作0(1bit),等待ACK
(3. Slave发送ACK
(4. Master发送reg addr(8bit),等待ACK
(5. Slave发送ACK(第4步和第5步可以重复多次,顺序写多个寄存器地址)
(6. Master发送data(8bit),即要写入寄存器中的数据,等待ACK
(7. Slave发送ACK
(8. 第6步和第7步可以重复多次,即顺序写多个寄存器数据
(9. Master发起STOP
4.
- I2C读流程
读寄存器的标准流程为:
(1. Master发送I2C addr(7bit)和w操作1(1bit),等待ACK
(2. Slave发送ACK
(3. Master发送reg addr(8bit),等待ACK
(4. Slave发送ACK
(5. Master发起START
(6. Master发送I2C addr(7bit)和r操作1(1bit),等待ACK
(7. Slave发送ACK
(8. Slave发送data(8bit),即寄存器里的值
(9. Master发送ACK
(10. 第8步和第9步可以重复多次,即顺序读多个寄存器
关于24C08芯片的设备地址,
这篇关于IIC总线协议讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!