后面有空再加上详解和代码
IIC:同步 串行 半双工通信总线
IIC一般是一主多从,每个设备都会有独自的地址
起始信号:忙状态 SCL为高电平时,SDA从高电平变低电平
停止信号:空闲信号 SCL为高电平时,SDA从低电平变高电平
拉低信号线是应答位
检测应答信号:数据线高电平非应答,低电平应答
注意:数据的有效性
硬件I2C会自动执行时钟生成、起始终止条件生成,应答位收发和数据收发等功能
硬件电路会自动反转电平
数据寄存器DR
控制寄存器(CR):用于配置和控制芯片的工作模式、写保护和其他功能
状态寄存器:可以查看对应的运行状态
I2C的通信速度是由时钟线的频率决定,时钟频率决定了数据传输的速度
I2C最常用的一主多从,7位地址模式
硬件IIC的移位寄存器是高位先行,所以向左移位
IIC的GPIO引脚状态时复用开漏输出(IIC规定)
硬件IIC传输数据的时候是先到移位寄存器->数据寄存器
起始信号开启前是从模式,开启后是主模式,停止后变回从模式