コード例 #1
0
ファイル: ctiic.c プロジェクト: FeatherHunter/STM32F4
/**
 * @Function void CT_IIC_Stop(void)
 * @description 产生IIC停止信号
 * @Input 	void
 * @Return  void
 */	
void CT_IIC_Stop(void)
{
	CT_SDA_OUT();//sda线输出
	CT_IIC_SCL=1;
	delay_us(30);
	CT_IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
	CT_Delay();
	CT_IIC_SDA=1;//发送I2C总线结束信号  
}
コード例 #2
0
ファイル: ctiic.c プロジェクト: FeatherHunter/STM32F4
/**
 * @Function void CT_IIC_Start(void)
 * @description 产生IIC起始信号
 * @Input 	void
 * @Return  void
 */	
void CT_IIC_Start(void)
{
	CT_SDA_OUT();    //sda线输出
	CT_IIC_SDA=1;	  	  
	CT_IIC_SCL=1;
	delay_us(30);
 	CT_IIC_SDA=0;		//START:when CLK is high,DATA change form high to low 
	CT_Delay();
	CT_IIC_SCL=0;		//钳住I2C总线,准备发送或接收数据 
}	  
コード例 #3
0
ファイル: ctiic.c プロジェクト: ProsperousLi/stm32EWIN
//不产生ACK应答		    
void CT_IIC_NAck(void)
{
	CT_IIC_SCL=0;
	CT_SDA_OUT();
	CT_IIC_SDA=1;
	delay_us(1);
	CT_IIC_SCL=1;
	delay_us(1);
	CT_IIC_SCL=0;
}					 				     
コード例 #4
0
ファイル: ctiic.c プロジェクト: FeatherHunter/STM32F4
/**
 * @Function void CT_IIC_NAck(void)
 * @description 不产生ACK应答		
 * @Input 	void
 * @Return  void
 */	
void CT_IIC_NAck(void)
{
	CT_IIC_SCL=0;
	CT_SDA_OUT();
	CT_Delay();
	CT_IIC_SDA=1;
	CT_Delay();
	CT_IIC_SCL=1;
	CT_Delay();
	CT_IIC_SCL=0;
}					 				     
コード例 #5
0
ファイル: ctiic.c プロジェクト: ProsperousLi/stm32EWIN
//IIC发送一个字节
//返回从机有无应答
//1,有应答
//0,无应答			  
void CT_IIC_Send_Byte(u8 txd)
{                        
    u8 t;   
	CT_SDA_OUT(); 	    
    CT_IIC_SCL=0;//拉低时钟开始数据传输
    for(t=0;t<8;t++)
    {              
        CT_IIC_SDA=(txd&0x80)>>7;
        txd<<=1; 	      
		CT_IIC_SCL=1;
		delay_us(1); 
		CT_IIC_SCL=0;	
		delay_us(1);
    }	 
}