目录
I2C协议
1. 空闲状态
2. 开始信号
3. 停止信号
4. 应答信号ACK
5. 数据的有效性
6. 数据传输
I2C的实现
IIC_Init
II2_START
IIC_Stop
IIC_Wait_Ack
IIC_Ack
IIC_NAck
IIC_Send_Byte
IIC_Read_Byte
通过I2C *** 作24C02
初始化
写一个字节
读一个字节
写入读出多个地址
I2C,两线式串行总线,可发送和接收数据
SCL和SDA都必须上拉
I2C协议 1. 空闲状态SCL和SDA同时处于高电平
2. 开始信号SCL为高电平期间,SDA由高电平转为低电平
3. 停止信号SCL为高电平期间,SDA由低电平转为高电平
4. 应答信号ACK发送器每发送8个字节,就在时钟脉冲9期间释放数据线SDA,由接收器反馈一个应答信号
拖接收器成功接收该信号,则拉低SDA,表示ACK
若没有成功接收该信号,则不拉低,SDA仍为高,表示NACK
5. 数据的有效性SDA高电平表示1,低电平表示0,时钟线SCL高电平期间SDA应保持稳定
6. 数据传输在SCL控制下传送数据
I2C的实现
定义SCL与SDA的引脚
SDA需要能够转变IO的方向
IIC_Init II2_START IIC_Stop IIC_Wait_Ack IIC_AckIIC_NAck IIC_Send_Byte IIC_Read_Byte
如果读到1,则最低位+1
通过I2C *** 作24C02 初始化 写一个字节
地址是2个字节u16,高8位是一个字节,即高字节,低8位是一个字节,即低字节
写入的是一个字节,8位,u8
读一个字节 写入读出多个地址
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)