I2C读写流程

I2C数据通信是由数据线(SDA)和一根时钟线(SCL)组成 先对I2C初始化:主模式、中断向量IRQ中断、总线速率 数据读写流程:
1、 主设备发出开始信号(Start)
开始信号(Start):时钟线(SCL)为高电平期间,数据线(SDA)由高变低,即为一个开始信号。
2、主设备发出1字节的从设备地址信息
最低位为读写控制码(0为写,1为读),高7位为从机器地址码。
如AT24C256地址:
在这里插入图片描述
3、 从设备发出认可信号
应答信号(Ack):即认可信号,分为两种情况:
(a)、主设备在写从设备时,每正确写完1字节数据,从设备将在下一个时钟周期把数据线(SDA)拉低,即为一个应答信号。
(b)、主设备在读从设备时,每正确读完1字节数据,主设备将在下一个时钟周期把数据线(SDA)拉低,即为一个应答信号。注:在读从设备时,主设备在最后一个字节数据接收完毕以后不发出应答信号,而是直接发出结束信号。
4、 主设备开始对从设备进行读写操作
如果是读操作,则每读取1字节,主设备会发送一个应答信号(Ack)给从设备,如果是写操作,则每写入1字节,从设备会发送一个应答信号(Ack)给主设备
5、 主设备发出结束信号(Stop)    
时钟线(SCL)为高电平期间,数据线(SDA)由低变高,即为一个结束信号。也就是说,I2C总线在通信过程中,所有的数据读写操作都必须在时钟线(SCL)为低电平进行,而在钟线(SCL)为高电平时必须保持数据线(SDA)信号的稳定,任何发生在钟线(SCL)为高电平期间数据线(SDA)上的电平变化都被视为是开始或结束信号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那肯定是很多年以后!

你的鼓励就我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值