作模式Р主模式I2CР在该模式中LPC1100系列Cortex-M0 作为主机,向从机发送数据(即,主发送模式)及接收从机的数据(即,主接收模式)。在进入主模式I2C,I2CONSET必须按照表3.2进行初始化。2Р(1)主模式I2C 的初始化Р使用主模式I2C时,先设置I/O口功能选择,然后设置总线的速率,再使能主IР2C,接下来便可以开始发送/接收数据。主模式I2C初始化示例如程序清单 3.1所示。实际应用中,通常会使用中断方式进行I2C的操作,所以初始化程序中加入了中断的初始化。Р Р从模式I2CР LPC1100 系列Cortex-M0配置为I2C从机时,I2C主机可以对它进行读/写操作,此时从机处于从发送/接收模式。要初始化从接收模式,用户必须将从地址写入从地址寄存器(I2ADR)并按照表3.5配置I2C控制置位寄存器(I2CONSET)。Р I2EN和 AA置 1 操作是通过向 I2CONSET 写入 0x44 实现;STA和 SI置 0操作是通过向I2CONCLR写入 0x28 实现;当总线产生了一个停止条件时,STO位由硬件自动置 0。Р从模式I2C 的初始化Р使用从模式I2C时,先设置I/O口功能选择,再设置从机地址,然后使能I2C(配置为从模式),即可等待主机访问。从模式I2C初始化示例如程序清单 3.2所示。实际应用中,通常是使用中断方式进行I2C的操作,所以初始化程序中加入了中断的初始化。Р因为I2C总线时钟信号是由主机产生,所以从机不用初始化 I2SCLH和 I2SCLL寄存器。РI2CSCLH:SCH占空比寄存器高半字,决定I2C时钟的高电平时间;РI2CSCLL:SCH占空比寄存器低半字,决定I2C时钟的低电平时间;РONCLR:I2C控制清零寄存器。当向该寄存器的位写1时,I2C控制寄存器中的相应位清零。写0对I2C控制寄存器中相应位没有影响