www.pudn.com > TMP112.zip > i2c.h, change:2016-07-21,size:1084b


#ifndef __I2C_H 
#define __I2C_H 
#include "pbdata.h"  
 
 
void SDA_IN(void); 
void SDA_OUT(void); 
//IO方向设置 
//#define SDA_IN()  {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=8<<12;} 
//#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=3<<12;} 
 
#define IIC_SCL1    GPIO_SetBits(GPIOB,GPIO_Pin_6)   //SCL1 
#define IIC_SCL0    GPIO_ResetBits(GPIOB,GPIO_Pin_6)  //SCL0 
#define IIC_SDA1    GPIO_SetBits(GPIOB,GPIO_Pin_7)   //SDA1	  
#define IIC_SDA0    GPIO_ResetBits(GPIOB,GPIO_Pin_7)  //SDA0  
#define READ_SDA    GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)  //输入SDA  
 
//IIC所有操作函数 
void IIC_Init(void);                //初始化IIC的IO口				  
void IIC_Start(void);				//发送IIC开始信号 
void IIC_Stop(void);	  			//发送IIC停止信号 
void IIC_Send_Byte(u8 txd);			//IIC发送一个字节 
u8 IIC_Read_Byte(unsigned char ack);//IIC读取一个字节 
u8 IIC_Wait_Ack(void); 				//IIC等待ACK信号 
void IIC_Ack(void);					//IIC发送ACK信号 
void IIC_NAck(void);				//IIC不发送ACK信号 
 
void IIC_Write_One_Byte(u8 daddr,u8 addr,u8 data); 
u8 IIC_Read_One_Byte(u8 daddr,u8 addr);	   
#endif