|
@@ -2,23 +2,12 @@
|
|
|
|
|
|
static void _SDA_IN(I2C_Handle_Struct_t* I2C_Handle)
|
|
|
{
|
|
|
- GPIO_InitTypeDef GPIO_InitStruct;
|
|
|
-
|
|
|
- GPIO_InitStruct.Pin = I2C_Handle->SDA_GPIO_Pin;
|
|
|
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
|
|
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
|
- GPIO_InitStruct.Pull = GPIO_PULLUP;
|
|
|
- HAL_GPIO_Init(I2C_Handle->SDA_GPIOx, &GPIO_InitStruct);
|
|
|
+ HAL_GPIO_WritePin(I2C_Handle->SDA_GPIOx, I2C_Handle->SDA_GPIO_Pin, GPIO_PIN_SET);
|
|
|
}
|
|
|
|
|
|
static void _SDA_OUT(I2C_Handle_Struct_t* I2C_Handle)
|
|
|
{
|
|
|
- GPIO_InitTypeDef GPIO_InitStruct;
|
|
|
-
|
|
|
- GPIO_InitStruct.Pin = I2C_Handle->SDA_GPIO_Pin;
|
|
|
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
|
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
|
|
- HAL_GPIO_Init(I2C_Handle->SDA_GPIOx, &GPIO_InitStruct);
|
|
|
+ __NOP();
|
|
|
}
|
|
|
|
|
|
static void _GPIO_CLK_Init(GPIO_TypeDef* GPIOx)
|
|
@@ -59,12 +48,12 @@ void I2C_GPIO_Config(I2C_Handle_Struct_t* I2C_Handle)
|
|
|
|
|
|
GPIO_InitStruct.Pin = I2C_Handle->SCL_GPIO_Pin;
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
|
|
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
|
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
|
|
HAL_GPIO_Init(I2C_Handle->SCL_GPIOx, &GPIO_InitStruct);
|
|
|
|
|
|
GPIO_InitStruct.Pin = I2C_Handle->SDA_GPIO_Pin;
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
|
|
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
|
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
|
|
HAL_GPIO_Init(I2C_Handle->SDA_GPIOx, &GPIO_InitStruct);
|
|
|
}
|
|
|
|