* @brief Set SDA pin dircate as intput * @retvalNone */
void HTU20_SDA_IN( {
GPIO_StructInit(&GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = HTU20_SDA_PIN; GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_2; GPIO_InitStructure.GPIO_PuPd =GPIO_PuPd_NOPULL; GPIO_Init(HTU20_SDA_PORT, &GPIO_InitStructure; } /**
* @brief Set SDA pin as high * @retvalNone */
void HTU20_SDA_1( {
GPIO_SetBits(HTU20_SDA_PORT,HTU20_SDA_PIN;
} /**
* @brief Set SDA pin as low * @retvalNone */
void HTU20_SDA_0( {
GPIO_ResetBits(HTU20_SDA_PORT,HTU20_SDA_PIN; } /**
* @brief Set SCL pin dircate as output * @retvalNone */
void HTU20_SCL_OUT( {
GPIO_StructInit(&GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = HTU20_SCL_PIN; GPIO_InitStructure.GPIO_Mode =GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_2;
GPIO_InitStructure.GPIO_PuPd =GPIO_PuPd_NOPULL; GPIO_Init(HTU20_SCL_PORT, &GPIO_InitStructure;
} /**
* @brief Set SCL pin as high * @retvalNone */
void HTU20_SCL_1( {
GPIO_SetBits(HTU20_SCL_PORT,HTU20_SCL_PIN; } /**
* @brief Set SCL pin as low * @retvalNone */
void HTU20_SCL_0( {
GPIO_ResetBits(HTU20_SCL_PORT,HTU20_SCL_PIN; }
/*================================================================
Simulation I2C Function
================================================================*/
/**
* @brief A short delay for iic synchronization * @param t us * @retvalNone */
void I2CDelay (BYTE t { while(t-- {
__nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(;
__nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; __nop(; } } /**
* @brief I2Cinit * @retvalNone */
void I2CInit(void { HTUInit(;
HTU20_SDA_OUT(; HTU20_SCL_OUT(; HTU20_SDA_1(; I2CDelay(1; HTU20_SCL_1(; I2CDelay(1; } /**