#ifndef __SoftI2C_h__ #define __SoftI2C_h__ //IIC端口定义 #ifndef HIGH #define HIGH 1 // HIGH #define LOW 0 // LOW #endif #ifndef WR #define WR 0 // WRITE #define RD 1 // READ #endif /*******************************************************************************/ #define SDA_IN() EnableInput(I2C_SDA_GPIO, I2C_SDA_PINPOS) #define SDA_OUT() EnableOutput(I2C_SDA_GPIO, I2C_SDA_PINPOS) #define SET_SDA() SET_PIN(I2C_SDA_GPIO, I2C_SDA) #define CLR_SDA() CLR_PIN(I2C_SDA_GPIO, I2C_SDA) #define READ_SDA() READ_PIN(I2C_SDA_GPIO, I2C_SDA) #define SCL_OUT() EnableOutput(I2C_SCL_GPIO, I2C_SCL_PINPOS) #define SET_SCL() SET_PIN(I2C_SCL_GPIO, I2C_SCL) #define CLR_SCL() CLR_PIN(I2C_SCL_GPIO, I2C_SCL) /*******************************************************************************/ //#define SDA_IN() {I2C_GPIO->MODER &=~(3<<(7*2)); I2C_GPIO->MODER |=0<<7*2;} //PA12输入模式 //#define SDA_OUT() {I2C_GPIO->MODER &=~(3<<(7*2)); I2C_GPIO->MODER |=1<<7*2;} //PA12输出模式 #define ENABLE_I2C_DELAY 0 //#define I2C_Delay() __NOP(); #define SI2C_Delay() __NOP(); //void I2C_Delay(void);H void SI2C_Init(void); void SI2C_Start(void); void SI2C_Stop(void); void SI2C_Ack(void); void SI2C_NoAck(void); u8 SI2C_TestAck(void); u8 SI2C_Write(u8 writeData); u8 SI2C_Read(void); #endif