iic通信初步认识与代码编写

常用的串行通信:one-wire,IIC,SPI

iic通信初步认识与代码编写_第1张图片

如上图,当总线空闲时,两根线均为高电平;

iic总线通过上拉电阻接正电源

当连到总线上的任一器件输出为低电平都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系

每一个接在总线上的器件都有一个IIC地址,便于主机识别

主机按一定的通信协议向从机寻址和传输信息,传输方向和对象以及传输开始和结束都由主机控制

具体说说这个协议

1 总的规则

iic通信初步认识与代码编写_第2张图片

iic总线进行数据传输时,时钟信号SCL高电平期间,数据线SDA上的数据必须保持稳定

只有在时钟线SCL低电平期间,数据线SDA上的高,低电平状态才允许数据改变

2 起始信号和终止信号

iic通信初步认识与代码编写_第3张图片

起始信号 SCL为高电平期间,SDA线由高电平向低电平变化。

终止信号 SCL为高电平期间,SDA线由低电平向高电平变化

3 应答

应答 SDA = 0,可以继续通信

非应答:SDA=1,结束通信

每一个字节必须保证是8位长度。数据传送时,先传送最高位)—MSB—

每一个被传送的字节后面都必须跟随一位应答位(即一帧一共有9位)

4 数据传输

iic通信初步认识与代码编写_第4张图片

你可能感兴趣的:(单片机)