I2C_START( )是PIC CCS编译器中PIC单片机的专有函数。
语法: i2c_start( );
参数: 没有.
返回值: 没有定义;
功能: 在i2c主机方式中,i2c_start()函数用来发布一个启动条件.在启动条件之后,时钟被控制在低电平,直到i2c _write()函数被调用为止.如果在i2c_stop()函数被调用之前,又有一个i2c_start()函数被调用,那么这种特定的重起条件就被发布了.注意:专用的I2协议依靠从机设备.
启动条件: 在SCL脚为高电平时,SDA脚出现一个下降沿,则启动I2C总线;
停止条件: 在SCL脚为高电平时,SDA脚出现一个上升沿,则停止使用I2C总线;
接收应答ACK: 发送器保持SDA为高电平,由接收器将SDA拉低,称为应答信号ACK;
非应答信号NOT ACK: 当主器件为接收器时,在接收了最后一个字节之后,它不发应答信号;
有效性: 适合所有的设备.
要求: 必须使用#use i2c,才可使能i2c_start( ) 函数;
例子: i2c_start(); //i2c发送启动条件
i2c_write(0xa0); //发送器件地址0xa0
i2c_write(address); //i2c发送数据给从机设备
i2c_start(); //i2c发送重新启动条件
i2c_write(0xa1); //发送器件地址0xa1给另外一个从机设备
data=i2c_read(0); //将读到的数据存到data中, 0表示不应答;
i2c_stop(); //i2c发送停止条件;
例子文件: ex_extee.c和2416.c;这两个文件在前面已做介绍,这里不在介绍.