12、IIC

1 IIC基本情况

1.1 IIC简介

Inter Intergrated Circuit(IIC),即集成电路总线,是一种同步串行半双工通信总线。

1.2 IIC结构

1、IIC由时钟线SCL和数据线SDA组成,并且都接上拉电阻,确保总线在空闲状态保存为高电平

2、总线支持多设备连接,允许多主机存在,每个设备有唯一地址

3、连接总线上的数目受总线最大电容400pf限制

1.3 IIC协议时序

起始信号:SCL为高电平时,SDA由高变低

停止信号:SCL为高电平时,SDA由低变高

应答信号:从机拉低SDA为确认受到数据,即ACK,否则为NACK

1.4 硬件设置

SCL配置为推挽输出,SDA配置为开漏输出并加弱上拉电阻

1.5 数据格式

1、数据先传输高位

2、数据以字节形式传输,每传输一个字节(8位)必须在第9位回应一个应答信号已确认数据传输接收情况

3、数据在SCL高电平时保持稳定,在SCL低电平时才可变化

2 IIC配置(软件模拟)

2.1 IIC的软件模拟

由于早期F1版本的总线死锁问题,IIC的实现通常通过软件模拟实现。软件模拟对于CPU的占用更高,速度慢,但是引脚配置灵活,运行更加稳定。

2.2 IIC软件模拟配置步骤

1、底层硬件配置:初始化并配置SCL、SDA,对应到两个GPIO引脚上

2、创建IIC延时函数

3、配置模拟IIC的起始信号和停止信号

4、创建字节发送函数、字节读取函数

5、创建等待应答函数

6、组合上述函数,实现IIC通信功能

posted @ 2026-08-19 17:28  老鼠学32  阅读(7)  评论(0)    收藏  举报