#define IIC_SCL_High() GPIO_SetBits(IIC_Port, IIC_SCL);
#define IIC_SCL_Low() GPIO_ResetBits(IIC_Port, IIC_SCL);
#define IIC_SDA_High() GPIO_SetBits(IIC_Port, IIC_SDA);
#define IIC_SDA_Low() GPIO_ResetBits(IIC_Port, IIC_SDA);
#define IIC_SDA_Read() GPIO_ReadInputDataBit(IIC_Port, IIC_SDA)
#define IIC_SDA_Input() do { \
GPIO_InitTypeDef IIC_GPIO_InitStruct; \
IIC_GPIO_InitStruct.GPIO_Pin = IIC_SDA; \
IIC_GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; \
IIC_GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; \
} while(0)
#define IIC_SDA_Output() do { \
GPIO_InitTypeDef IIC_GPIO_InitStruct; \
IIC_GPIO_InitStruct.GPIO_Pin = IIC_SDA; \
IIC_GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_OD; \
IIC_GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; \
} while(0)