1.IIC低速同步串行半双工通信
2.空闲总线均为高电平,任一器件输出低将总线拉低(各器件线与关系)
3.每个IIC总线上的器件都有唯一地址
4.IIC数据位有效性规定:时钟信号为高电平时,数据线必须保持稳定,时钟信号为低电平时,数据线上的高低电平状态才允许变化。
5.起始信号:SCL为高电平,SDA由高变低 停止信号:SCL为高电平,SDA由低变高
6.每一个字节8位长度,数据传送时,先传送最高位,每一个被传送的字节后面必须都必须跟随一位应答位(一帧共9位)(从机SDA拉高非应答,拉低应答)(非应答后,主机产生停止信号)
7.从机可以将SCL拉低使主机处于等待状态,将SCL拉高,继续传送。
8.数据帧格式:IIC总线上信号既包括地址信号,又包括数据信号,开始信号后必须传一个从机地址(7位);第八位是数据传输方向 0:发送 1:接受
9.CPU向IICDXR写数据,从IICDRR读数据。
IICDXR->IICXSR->SDA 发送
SDA->IICRSR->IICDRR
接受
10.模块时钟频率=IIC/(IPSC+1)
注:模块时钟必须配置在7~12MHZ,ISC=0时才能初始化预定标 ISR由0变1时,预定标产生的频率才能起作用。
11.IICCLKL中的IICL决定低电平的时间:模块时钟*(iccl+d)
IICH预定高电平的时间:模块时钟*(icch+d)
12.CPU读取中断源寄存器IICISRC之后,将进行一下步骤
1)清除IICSTR寄存器中响应的中断源标志位,但IICSTR中的ARDY,RRDY,XRDY位不清除,需要清除时,向该位写1
2)通过仲裁确定剩下的其他中断请求中哪一个具有最高优先级,在寄存器IICISRC中做出标记,并将请求发送给CPU